【发布时间】:2016-09-25 18:21:33
【问题描述】:
我有一个repeat python 函数和一个只有一个按钮的 test.ui。我的疑问是每次单击按钮时如何准确地循环一次相同的功能。因为每当我表演时对我来说:
self.pushButton.clicked.connect(self.repeat)
它在函数中循环多次而不是一次。我通过每次到达函数时增加一个值来发现这一点。每次点击按钮如何到达repeat函数一次?
import sys
from PyQt4 import QtCore, QtGui, uic
qtCreatorFile = "test.ui"
Ui_MainWindow, QtBaseClass = uic.loadUiType(qtCreatorFile)
class Login(QtGui.QMainWindow, Ui_MainWindow):
i=1
def __init__(self):
QtGui.QMainWindow.__init__(self)
Ui_MainWindow.__init__(self)
self.setupUi(self)
self.pushButton.setText("iam in init")
self.pushButton.clicked.connect(self.repeat)
def repeat(self):
self.pushButton.setText("iam in repeat"+str(self.i))
self.i=self.i+1
self.pushButton.clicked.connect(self.repeat)
if __name__ == "__main__":
app=QtGui.QApplication(sys.argv)
main = Login()
main.show()
sys.exit(app.exec_())
【问题讨论】:
-
听起来您可能已多次连接信号。在您建立连接的位置显示完整的代码。
-
我在下面包含了我的代码
标签: python pyqt4 signals-slots qpushbutton