有时候用python,就希望有类似Java的类静态变量,这样就可以方便很多,但我翻遍了《python基础教程》(我的python启蒙书),也没有找到关于类静态变量的描述,但是书上有这么一段话。
比如我的主窗口是CMainWindow类(类名不重要,继承自QMainWindow),在该类实例self中部署textEdit,为该类实例化的界面的按钮中添加的响应函数edit中新建类Dialog的实例并show()如图。
然后在Dialog类中再添加方法函数,再进行实例化,这时我如果想在Dialog2,Dialog3…等类中修改CMainwindow实例的textEdit,就比较麻烦(我承认我排版有点问题,这代码再加以优化会更优雅,可能不会遇到这个问题),如果有一个静态的类变量如CMainwindow.textEdit就好了,但是没有,也可能有,但是我不知道,去找它费时费力,既然如此,那就传递参数吧。python类的每个方法第一个参数都是self,我们观察代码可以看到继承自QDialog和qtdesigner转换后的类的构造函数的第二个参数parent可以加以利用,那么我们可以用Dialog类的变量(这里取名board)来接收CMainwindow的实例,然后可以再用Dialog2类的变量来接收Dialog类的实例,依次类推,就可以将参数传递下去,在程序中任何一个位置都可以修改其他类的参数了。



