很抱歉,标题是这样一个满嘴,但基本上我要做的是,我有3个按钮,所有这些按钮都打开QFileDialog供用户选择使用的文件。由于操作是相同的,我希望对所有3个都使用相同的函数,但是根据按下的按钮的不同,我需要更新不同的QLineEdit以反映GuI中的文件路径。我该如何实现这个目标?在
#Create the prompt for user to load in the q script to use
self.qFileTF = QtGui.QLineEdit("Choose the q script file to use")
self.qFileButton = QtGui.QPushButton("Open")
self.qFileButton.setFixedSize(100,27)
self.fileLayout1.addWidget(self.qFileTF)
self.fileLayout1.addWidget(self.qFileButton)
#Create the prompt for user to load in the light house file to use
self.lhFileTF = QtGui.QLineEdit("Choose the light house file to use")
self.lhButton = QtGui.QPushButton("Open")
self.lhButton.setFixedSize(100,27)
self.fileLayout2.addWidget(self.lhFileTF)
self.fileLayout2.addWidget(self.lhButton)
#Create the prompt for user to choose to reference an older version of q script
self.oldQCB = QtGui.QCheckBox("Reference an older version Q script")
self.oldQTF = QtGui.QLineEdit("Choose the q script file to use")
self.oldQTF.setEnabled(False)
self.oldQButton = QtGui.QPushButton("Open")
self.oldQButton.setEnabled(False)
self.oldQButton.setFixedSize(100,27)
self.fileLayout3.addWidget(self.oldQTF)
self.fileLayout3.addWidget(self.oldQButton)
self.connect(self.qFileButton, QtCore.SIGNAL("clicked()"), self.loadFile)
self.connect(self.lhButton, QtCore.SIGNAL("clicked()"), self.loadFile)
self.connect(self.oldQButton, QtCore.SIGNAL("clicked()"), self.loadFile)
def loadFile(self):
selFile = QtGui.QFileDialog.getOpenFileName()
if self.qFileButton:
self.qFileTF.setText(selFile)
elif self.lhFileTF:
self.lhFileTF.setText(selFile)
else:
self.oldQTF.setText(selFile)
可以使用lambda函数(或partial函数)将要更改的
QLineEdit
作为附加参数传递给插槽:尝试使用^{cd1>}方法:
相关问题 更多 >
编程相关推荐