使用pyqt 实现重复打开多个相同界面

yipeiwu_com6年前Python基础

一般采用的方法:

self.window = Qdialog() # 实例化

self.window.show() # 显示界面

用这种方法只能打开一个界面,self使得默认只存在一个界面,不能重复打开多个相同界面。

修改办法:

window = Qdialog()

window.show()

window.exec_()

去掉self,使得默认单一界面取消,同时加上exec_(),如果不加的话,会使得界面闪退。曾尝试使用exec()模态,利用其阻塞特性来阻止界面闪退,但同时存在一个问题,在对该界面关闭前,不能对其它界面进行操作。针对这些问题,做出了上述修改,最终实现了效果。

以上这篇使用pyqt 实现重复打开多个相同界面就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

举例讲解Python设计模式编程中对抽象工厂模式的运用

举例讲解Python设计模式编程中对抽象工厂模式的运用

抽象工厂模式:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 优点:易于交换“产品系列”,只要更改相应的工厂即可。 缺点:建立产品的时候很繁琐,需要增加和修改很多东...

Python实现修改IE注册表功能示例

Python实现修改IE注册表功能示例

本文实例讲述了Python实现修改IE注册表功能。分享给大家供大家参考,具体如下: 一、代码 # -*- coding:utf-8 -*- #! python3 import dat...

python将时分秒转换成秒的实例

python将时分秒转换成秒的实例

处理数据的时候遇到一个问题,从数据库里导出的数据是时分秒的格式:hh:mm:ss ,现在我需要把它转换成秒,方便计算。 原数据可能分两种情况,字段有可能是文本字符串类型的,也有可能是时间...

python不带重复的全排列代码

复制代码 代码如下:from sys import argvscript, start, end = argvvis = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0...

简介Python设计模式中的代理模式与模板方法模式编程

代理模式 Proxy模式是一种常用的设计模式,它主要用来通过一个对象(比如B)给一个对象(比如A) 提供'代理'的方式方式访问。比如一个对象不方便直接引用,代理就在这个对象和访问者之间做...