使用信号弹出屏幕

| 使用信号使小屏幕出现时,我遇到了一些麻烦。 简而言之,到目前为止,下面的代码应该显示我的问题。
import sys
from PyQt4 import QtGui, QtCore

qApp = QtGui.QApplication(sys.argv) 

class InformatieVenster(QtGui.QMainWindow):
    def __init__(self):
        QtGui.QMainWindow.__init__(self)
        self.setWindowTitle(\'Informatie\')
        self.setGeometry(100,100,300,200)

informatie = InformatieVenster()  

class MenuKlasse(QtGui.QMainWindow):
    def __init__(self):
        QtGui.QMainWindow.__init__(self)

        about = QtGui.QAction(\'About...\', self)
        about.setShortcut(\'Ctrl+A\')
        about.setStatusTip(\'Some text, haha\')
        self.connect(about, QtCore.SIGNAL(\'clicked()\'), QtCore.SIGNAL(informatie.show()))

        menubar = self.menuBar()
        self.Menu1 = menubar.addMenu(\'&File\')
        self.Menu1.addAction(about)

Menu = MenuKlasse()
Venster = QtGui.QMainWindow() 
Venster.menuBar().addMenu(Menu.Menu1)
Venster.setGeometry(200, 200, 300, 300); 
size =  Venster.geometry()
Venster.show()
qApp.exec_()
运行该程序后,会自动弹出“信息”窗口。 但是...我只希望每次我在菜单中单击\'about ... \'或使用分配的快捷方式时都会发生这种情况。 我该如何改进代码,使问题成为历史? 问候!     
已邀请:
        之所以显示该窗口,是因为您在连接期间实际上正在呼叫
.show()
。您必须传递函数对象(而不是函数调用的结果)作为“ 2”的参数。此外,如果发出信号,要调用的函数称为“插槽”,则第二个“ 3”将完全放错位置。 将连接线替换为:
self.connect(about, QtCore.SIGNAL(\'triggered()\') informatie.show)
更好的是,使用现代的连接语法:
about.triggered.connect(informatie.show)
顺便说一句,不要在GUI程序中使用绝对大小。而是使用布局管理。     

要回复问题请先登录注册