我一直在用QT5为Python做实验,使用pyqt5。我注意到,大多数教程建议使用pyuic5将XML转换为Python代码。我还看到了一些教程,它们使用uic.loadUi("myui.ui")动态加载XML UI。对我来说,这似乎是一个更干净、更模块化的解决方案,但它似乎是一个不受欢迎的选择。用pyuic5转换您的代码是否是一个更好的解决方案?
发布于 2018-09-24 02:13:52
这两种解决方案都是好的,它们都有优点和缺点,必须与您想要做的东西进行权衡,而且很多时候它将取决于程序员的品味。
pyuic5
uic.loadUi()
uic.loadUiType()实现继承) -发布于 2021-10-01 12:49:05
使用pyuic5的最大原因是IDE(例如Visual、PyCharm)不理解.ui文件,因此不能为类提供代码内省(例如小部件名称的自动完成),除非将其编译为.ui。
发布于 2022-06-03 08:26:43
在深入研究了这一点之后,对我来说,动态加载QT生成的表单是可行的。您可以通过这样的命令(假设您的表单中有一个名为bob_label的标签)来解决无法访问底层小部件的问题:
self.bob_label: QLabel = self.findChild(QtWidgets.QLabel, 'bob_label')无论如何,在PyCharm中,这将自动启用Intellisense (因此IDE现在知道窗口类中有一个名为bob_label的标签)。在Visual代码中,尽管我付出了很大的努力,但我还是找不到一种让它轻松工作的方法,尽管我做了最终管理好它。
https://stackoverflow.com/questions/52471705
复制相似问题