我使用python(2.7.5)和pyqt(4.8.4),我想创建一个简单的gui程序,在每次单击按钮时在“lineEdit”对象中显示函数值(增量)。 我的代码:
z=0
def myfunc1():
global z
z=z+1
print (z)
def changeText(self, event):
lineEdit.setText(str(z))
class Ui_Form(object):
def setupUi(self, Form):
Form.setObjectName(_fromUtf8("Form"))
Form.resize(613, 545)
self.pushButton = QtGui.QPushButton(Form)
self.pushButton.setGeometry(QtCore.QRect(244, 352, 111, 51))
self.pushButton.setObjectName(_fromUtf8("pushButton"))
self.lineEdit = QtGui.QLineEdit(Form)
self.lineEdit.setGeometry(QtCore.QRect(242, 290, 111, 20))
self.lineEdit.setObjectName(_fromUtf8("lineEdit"))
self.retranslateUi(Form)
QtCore.QMetaObject.connectSlotsByName(Form)
QtCore.QObject.connect(self.pushButton, QtCore.SIGNAL(_fromUtf8("clicked()")), myfunc1)
QtCore.QObject.connect(self.pushButton, QtCore.SIGNAL("clicked()"), changeText)
def retranslateUi(self, Form):
Form.setWindowTitle(_translate("Form", "Form", None))
self.pushButton.setText(_translate("Form", "click me", None))
self.lineEdit.setText(_translate("Form", "functionvalue", None))
if __name__ == "__main__":
import sys
app = QtGui.QApplication(sys.argv)
Form = QtGui.QWidget()
ui = Ui_Form()
ui.setupUi(Form)
Form.show()
sys.exit(app.exec_())
程序开始工作,但单击按钮后会显示错误消息: 类型错误:changeText()只接受2个参数(给定0) 据我所知,我应该以某种方式来定义这两个论点:(自我、事件)……但如何定义呢?在
您给了
changetext()
自变量,即使它不在类UI_form
中,所以它不需要self当你调用它时,你没有在这一行给出任何论点:
它期望参数被调用,因为当它被定义时,你给了它一个
self
和一个event
参数下面是一个工作代码:
相关问题 更多 >
编程相关推荐