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

yipeiwu_com6年前Python基础

一般采用的方法:

self.window = Qdialog() # 实例化

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

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

修改办法:

window = Qdialog()

window.show()

window.exec_()

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

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

相关文章

Python使用pymysql从MySQL数据库中读出数据的方法

python3.x已经不支持mysqldb了,支持的是pymysql 使用pandas读取MySQL数据时,使用sqlalchemy,出现No module named ‘MySQLdb...

python执行使用shell命令方法分享

1. os.system(shell_command) 直接在终端输出执行结果,返回执行状态0,1 此函数会启动子进程,在子进程中执行command,并返回command命令执行完毕后的...

如何在Python中编写并发程序

GIL 在Python中,由于历史原因(GIL),使得Python中多线程的效果非常不理想.GIL使得任何时刻Python只能利用一个CPU核,并且它的调度算法简单粗暴:多线程中,让每...

用Python中的wxPython实现最基本的浏览器功能

通常,大多数应用程序通过保持 HTML 简单来解决大多数浏览器问题 ― 或者说,根据最低共同特性来编写。然而,即便如此,也仍然存在字体和布局的问题,发行新浏览器和升级现有浏览器时,也免不...

使用基于Python的Tornado框架的HTTP客户端的教程

由于tornado内置的AsyncHTTPClient功能过于单一, 所以自己写了一个基于Tornado的HTTP客户端库, 鉴于自己多处使用了这个库, 所以从项目中提取出来, 写成一个...