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