2015-10-05 63 views
1

每次按下我的按鈕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_() 

回答

1

我建議你在__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 
相關問題