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

yipeiwu_com6年前Python基础

一般采用的方法:

self.window = Qdialog() # 实例化

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

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

修改办法:

window = Qdialog()

window.show()

window.exec_()

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

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

相关文章

python中range()与xrange()用法分析

python中range()与xrange()用法分析

本文实例讲述了python中range()与xrange()用法。分享给大家供大家参考,具体如下: 据说range比xrange开销要大,原因是range会直接生成一个list对象,而x...

python中的字典操作及字典函数

字典 dict_fruit = {'apple':'苹果','banana':'香蕉','cherry':'樱桃','avocado':'牛油果','watermelon':'西瓜'...

Numpy中的mask的使用

Numpy中的mask的使用

numpy中矩阵选取子集或者以条件选取子集,用mask是一种很好的方法 简单来说就是用bool类型的indice矩阵去选择, mask = np.ones(X.shape[0],...

浅析python内置模块collections

collections是Python内建的一个集合模块,提供了许多有用的集合类。 1、namedtuple python提供了很多非常好用的基本类型,比如不可变类型tuple,我们可以轻...

Python的Django框架中模板碎片缓存简介

你同样可以使用cache标签来缓存模板片段。 在模板的顶端附近加入{% load cache %}以通知模板存取缓存标签。 模板标签{% cache %}在给定的时间内缓存了块的内容。...