在哪里初始化我,全球不接受
问题描述:
每次按下我的按钮def update
后,我的初始化指令i(i = 0)不允许增加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_()
答
我建议你在__init__
方法初始化i
并使其attrubute incre
类的。那么当您创建incre
实例时,i
只会初始化一次。
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