大神们能帮我看看nuitka打包pyside2的bug吗

环大明湖 2020-09-18 04:34:22
#bug就是被多次弹出的第二个子窗口只有在第一次能通过关闭按钮信号吧窗口关闭了。程序不退出再弹出的第二个子窗口关闭按钮信号不能关闭窗口。哪位大佬能帮我看看怎么回事。代码如下:



from PySide2.QtWidgets import QWidget,QApplication,QPushButton,QLabel
import sys
from PySide2.QtCore import Signal
class secondWindow(QWidget): #定义第二个弹出的窗口
def __init__(self):
super().__init__()
self.init()
def init(self):
self.setWindowTitle('第二个窗口')
self.setGeometry(500,200,500,500)
self.label = QLabel(self)
self.label.setText('这是第二个窗口')
self.btn = QPushButton('关闭',self)
self.btn.setGeometry(100,100,100,20)
self.btn.clicked.connect(self.close_window)
def close_window(self):
print('关闭第二个窗口的按钮信号已经发出')
self.close()


class firstWindow(QWidget): #定义第一个弹出的窗口
second_signal = Signal()
def __init__(self):
super().__init__()
self.init()
def init(self):
self.setWindowTitle('第一个窗口')
self.resize(300,300)
self.label = QLabel(self)
self.label.setText('这是第一个窗口')
self.btn = QPushButton('新窗口',self)
self.btn.setGeometry(100,100,100,20)
self.btn.clicked.connect(self.show_new_window)
def show_new_window(self):

self.second_signal.emit() #自定义第二个窗口弹出的信号槽


class window(QWidget): #定义主窗口
def __init__(self):
super().__init__()
self.initui()
def initui(self):
self.setWindowTitle('窗口测试')
self.resize(500,500)
self.btn = QPushButton('准备弹出新窗口',self)
self.btn.setGeometry(100,100,100,20)
self.btn.clicked.connect(self.show_new_window)
def show_new_window(self):
self.first = firstWindow() #实例化第一个弹出的敞口
self.first.show()
self.first.second_signal.connect(self.show_second_window) #第一个弹出窗口的自定义发出的信号槽,用来弹出第二个窗口
def show_second_window(self):
# print('第二个窗口信号已经发出准备弹出')
self.second = secondWindow() #实例化第二个弹出的窗口
self.second.show()
if __name__ == "__main__":
app = QApplication(sys.argv)
mywindow = window()
mywindow.show()
app.exec_()
...全文
188 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

37,720

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧