我有一个QPushButton,在我的MainWindow中称为'StartButton'。 Button的名称,位置和其他所有内容都在Qt Designer中定义,所以我没有在我的程序中定义任何内容。
我想用self.StartButton.clicked....
之类的内容替换QtGui.MyMainWindow.StartButton.clicked....
这有可能吗?我应该写什么而不是self
?
class MainWindow(QtGui.QMainWindow, QtGui.QFileDialog):
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
uic.loadUi('MyMainWindow.ui', self)
self.StartButton.clicked.connect(MainWindow.do_something())
答案 0 :(得分:0)
您的行应为:
self.StartButton.clicked.connect(self.do_something)
我做了两处修改:
do_something
,而不是将其作为参数传递给connect
。MainWindow
替换为self
。我意识到你想要避免这种情况,但MainWindow
仅仅是阶级。 self
是您尝试连接的MainWindow
的实例。注意:您还继承了两个不同的小部件(QMainWindow
和QFileDialog
),这导致Qt中的未定义行为。不幸的是,你必须选择其中一个或者其他东西会破坏。