В Qt Designer я определил кнопку loadValues_btn и ассоциированными сигнал нажатой() до пользовательских игровых loadValues ()Невозможно выполнить пользовательский код на давление кнопки Qt
Затем в Python, после того, как загрузили .ui файл с библиотекой PyQt, я определил метод loadValues () в классе MainApplication, чтобы выполнить пользовательский код при нажатии одной и той же кнопки. Но он не выполняет код (нужно просто открыть диалог выбора файлов)
Я уже пробовал с щелкнули(), и это не сработало
Вот код класса MainApplication:
class Main(QMainWindow, Ui_MainWindow):
def __init__(self,):
super(Main, self).__init__()
self.setupUi(self)
def loadValues():
filePath = QtGui.QFileDialog.getOpenFileName(parent=self, caption='Open file', directory='.')
if __name__ == '__main__':
app = QtGui.QApplication(sys.argv)
main = Main()
main.show()
sys.exit(app.exec_())
'setupUi' должен выполнить соединение. Если это не так, то вы можете попытаться исправить он на Designer (убедитесь, что у вас установлены правильные соединения), или вы можете просто сделать соединение в коде самостоятельно. – hyde
@hyde Я сгенерировал с PyQt4 код python за интерфейсом пользовательского интерфейса, и мне кажется, что сигналы и слоты правильно подключены к слоту loadValues ... – davide
здесь код присутствует в setpUi класса Ui_MainWindow: «класса Ui_MainWindow (объект): защиту setupUi (я, MainWindow): MainWindow.setObjectName (_fromUtf8 ("MainWindow")) MainWindow.resize (803, 476) ... self.loadData_btn = QtGui.QPushButton (self.centralWidget) self.loadData_btn.setGeometry (QtCore.QRect (30, 10, 75, 23)) self.loadData_btn.setObjectName (_fromUtf8 ("loadData_btn")) .. . QtCore.QObject.connect (self.loadData_btn, QtCore.SIGNAL (_fromUtf8 ("щелкнул()")), MainWindow.loadValues) ... ' Я не могу понять, где ошибка :( – davide