每次按下我的按钮def update
后,i(i = 0)的初始化指令不允许递增i。在哪里初始化i,全球不接受。
这是我的计划:
#!/usr/bin/env python
import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
class incre(QDialog):
def __init__(self, parent=None):
super(incre, self).__init__(parent)
self.Button=QPushButton("Press")
grid=QVBoxLayout()
grid.addWidget(self.Button)
self.setLayout(grid)
self.connect(self.Button,SIGNAL("clicked()"),self.update)
def update(self):
i=0
i=i+1
print i
if __name__ == "__main__":
app=QApplication(sys.argv)
form=incre()
form.show()
app.exec_()
答案 0 :(得分:1)
我建议您在i
方法中初始化__init__
并将其设为incre
类的attrubute。然后i
只会在您创建incre
实例时初始化一次。
class incre(QDialog):
def __init__(self, parent=None):
super(incre, self).__init__(parent)
self.Button=QPushButton("Press")
grid=QVBoxLayout()
grid.addWidget(self.Button)
self.setLayout(grid)
self.connect(self.Button,SIGNAL("clicked()"),self.update)
self.i = 0
def update(self):
self.i += 1
print self.i