我是一名业余爱好者,正在尝试python gui开发(python 3,PySide2,QtDesigner)。我的代码工作正常,我想了解一些更好的东西。
所有教程都像这样(在构造函数中)加载ui:
from PySide2.QtUiTools import QUiLoader
...
# in the constructor
loader = QUiLoader()
file = QFile(self.__resource('the_ui_file.ui'))
file.open(QFile.ReadOnly)
self.ui = loader.load(file, None)
file.close()
但是,它同样有效:
self.ui = QUiLoader().load('the_ui_file.ui')
鉴于python的垃圾回收,较短版本可以安全使用吗?这种方法有什么缺点吗?
谢谢!
答案 0 :(得分:0)
实际上没有问题,因为GC会在完成其作用域(即加载小部件)后将其删除。
唯一的缺点是,您只会加载单个窗口小部件,但是如果您有QUiLoader实例,则可以从其他.ui加载多个窗口小部件。也许您会看到很多,因为它用在the docs of PySide2中,并且它基于docs of Qt,而该版本的版本与简短版本不同。