在哪里初始化我,全球不接受

问题描述:

每次按下我的按钮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