2016-06-30 4 views
1

Qt Designerを使用して、簡単なダイアログボックスを作成しました。​​という送信ボタンを追加しました。私は、プログラムを実行するとボタンが自動的にクリックされるという問題を抱えています。プログラムをシェルに印刷するようになりました。「ボタンをクリックしました」と、プログラムが実行されるとすぐに表示されます。PyQtボタンは、プログラムが実行されるとすぐにクリックされます

from PyQt4 import QtCore, QtGui 

try: 
    _fromUtf8 = QtCore.QString.fromUtf8 
except AttributeError: 
    def _fromUtf8(s): 
     return s 

try: 
    _encoding = QtGui.QApplication.UnicodeUTF8 
    def _translate(context, text, disambig): 
     return QtGui.QApplication.translate(context, text, disambig, _encoding) 
except AttributeError: 
    def _translate(context, text, disambig): 
     return QtGui.QApplication.translate(context, text, disambig) 

class Ui_Dialog(object): 
    def setupUi(self, Dialog): 
     Dialog.setObjectName(_fromUtf8("Dialog")) 
     Dialog.resize(880, 479) 
     self.label = QtGui.QLabel(Dialog) 
     self.label.setGeometry(QtCore.QRect(240, 10, 351, 81)) 
     font = QtGui.QFont() 
     font.setFamily(_fromUtf8("Rockwell Nova Light")) 
     font.setPointSize(25) 
     self.label.setFont(font) 
     self.label.setAlignment(QtCore.Qt.AlignCenter) 
     self.label.setObjectName(_fromUtf8("label")) 
     self.label_2 = QtGui.QLabel(Dialog) 
     self.label_2.setGeometry(QtCore.QRect(60, 50, 741, 101)) 
     font = QtGui.QFont() 
     font.setFamily(_fromUtf8("Rockwell Nova Light")) 
     font.setPointSize(15) 
     self.label_2.setFont(font) 
     self.label_2.setAlignment(QtCore.Qt.AlignCenter) 
     self.label_2.setObjectName(_fromUtf8("label_2")) 
     self.label_3 = QtGui.QLabel(Dialog) 
     self.label_3.setGeometry(QtCore.QRect(60, 100, 741, 101)) 
     font = QtGui.QFont() 
     font.setFamily(_fromUtf8("Rockwell Nova Light")) 
     font.setPointSize(15) 
     self.label_3.setFont(font) 
     self.label_3.setAlignment(QtCore.Qt.AlignCenter) 
     self.label_3.setObjectName(_fromUtf8("label_3")) 
     self.comboBox = QtGui.QComboBox(Dialog) 
     self.comboBox.setGeometry(QtCore.QRect(340, 260, 161, 51)) 
     font = QtGui.QFont() 
     font.setFamily(_fromUtf8("Rockwell Nova Light")) 
     font.setPointSize(12) 
     self.comboBox.setFont(font) 
     self.comboBox.setObjectName(_fromUtf8("comboBox")) 
     self.comboBox.addItem(_fromUtf8("")) 
     self.comboBox.addItem(_fromUtf8("")) 
     self.comboBox.addItem(_fromUtf8("")) 
     self.pushButton = QtGui.QPushButton(Dialog) 
     self.pushButton.setGeometry(QtCore.QRect(714, 412, 121, 41)) 
     font = QtGui.QFont() 
     font.setFamily(_fromUtf8("Rockwell Nova Light")) 
     font.setPointSize(14) 
     self.pushButton.setFont(font) 
     self.pushButton.setObjectName(_fromUtf8("pushButton")) 
     self.label_4 = QtGui.QLabel(Dialog) 
     self.label_4.setGeometry(QtCore.QRect(60, 160, 741, 101)) 
     font = QtGui.QFont() 
     font.setFamily(_fromUtf8("Rockwell Nova Light")) 
     font.setPointSize(15) 
     self.label_4.setFont(font) 
     self.label_4.setAlignment(QtCore.Qt.AlignCenter) 
     self.label_4.setObjectName(_fromUtf8("label_4")) 

     self.retranslateUi(Dialog) 
     QtCore.QMetaObject.connectSlotsByName(Dialog) 

     self.home() 
     self.click() 

    def retranslateUi(self, Dialog): 
     Dialog.setWindowTitle(_translate("Dialog", "Dialog", None)) 
     self.label.setText(_translate("Dialog", "Welcome to PURA!", None)) 
     self.label_2.setText(_translate("Dialog", "This app is your revision partner, helping you learn throughout the day.", None)) 
     self.label_3.setText(_translate("Dialog", "To begin, first add a question below", None)) 
     self.comboBox.setItemText(0, _translate("Dialog", "Multiple Choice", None)) 
     self.comboBox.setItemText(1, _translate("Dialog", "True or False", None)) 
     self.comboBox.setItemText(2, _translate("Dialog", "Written Question", None)) 
     self.pushButton.setText(_translate("Dialog", "Submit", None)) 
     self.label_4.setText(_translate("Dialog", "Select the type of question you would like to make", None)) 

    def home(self): 

     self.pushButton.clicked.connect(self.click) 

    def click(self): 
     print("button clicked") 

if __name__ == "__main__": 
    import sys 
    app = QtGui.QApplication(sys.argv) 
    Dialog = QtGui.QDialog() 
    ui = Ui_Dialog() 
    ui.setupUi(Dialog) 
    Dialog.show() 
    sys.exit(app.exec_()) 
+0

ここでQtDesignerで生成されたファイルを変更しているようです。このファイルのラッパーを作成し、直接書き込むことはできません。 UIを変更して再度エクスポートしたい場合は、手動による変更が失われます。 – Ian

答えて

0

あなたは最初にあなたのUI設定に呼ばれて「setupUi」(ライン75)機能であなたのクリック機能の呼び出しを持っています。そこでself.click()を削除してください。

関連する問題