在项目中遇到了一个这样的小问题:在主程序里定义了一个全局变量,编写了一堆函数放到了另外几个.py文件里,然后想在放函数的.py文件里调用全局变量,发现调用不了。
我自己的项目里是一个UI界面的问题,对Ui_MainWindow的类定义了一个printf的方法,在主函数里创建了一个实例,然后想在另一个模块里用这个实例打印一些东西
查了一些博客,这里记录一下解决办法:
在某一个模块里定义一个全局变量初始化的函数:(比如说这个模块叫做commonFunc.py)
def global_var_init():
global mainUI
mainUI = ui.Ui_MainWindow()
return mainUI
主函数以及其他需要用到这个全局变量的模块,都把这个commonFunc模块导入进来
主函数里先定义这个全局变量:
import commonFunc
mainUI = commonFunc.global_var_init()
然后其他模块就可以通过下面这种方式用:
import commonFunc
commonFunc.mainUI.printf('abcdefg')
总结:专门在某一个模块里定义这个全局变量及其初始化函数,主函数和其他函数要用时导入这个模块,就可以用这个全局变量了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)