0
我目前正在为我的PyQt GUI实现模型视图体系结构。这里有一个简单,但代表我的代码目前版本(因为我的是waaaay太长)PyQt clicked.connect自动连接
class Model(QtGui.QWidget):
def __init__(self):
self.openDir = '/some/file/dir/'
def openFile(self):
openFileName = QtGui.QFileDialog.getOpenFileName(None, "Open File",self.loadDir,"AllFiles(*.*)")
open = open(openFileName, 'r')
...
class View(QtGui.QWidget):
def__init__(self):
...
self.button = QtGui.QPushButton("Open")
...
self.button.clicked.connect(Model().openFile())
if __name__ == '__main__':
app = QtGui.QApplication(sys.argv)
mainWindow = View()
mainWindow.show()
sys.exit(app.exec_())
然而,即使我没有按下按钮时,信号已经发出后,QFileDialog窗口自动出现。
编辑1:
因为我遇到了关于同一主题的一个新的问题,我已经打开了新的问题,更多的投入。
我第一次得到错误时尝试了它,但是当我说'Model()。openFile'时,我得到一个新的错误,说'Model'对象没有属性'按钮'。所以我试着制作'self.button''Model.button',但是这也不能正常工作... – Krin123 2014-10-28 14:24:06
我想你可能需要展示更多的代码才能理解这个异常。或者至少是追溯。我在你的问题中看到的代码没有意义。 – 2014-10-28 16:23:30
我实际上停止了解上面提到的问题,但面临一个新问题,并在此处打开了一个新问题:http://stackoverflow.com/questions/26612877/pyqt-when-button-is-pressed-to-connect-到-A-方法-的-不同分类代码-内华达州我会尝试详细说明代码并添加更多细节。 – Krin123 2014-10-28 16:30:09