
解决此问题的最常见方法是使用小部件升级。这将允许您用自己的自定义类替换Qt Designer中定义的小部件。执行此 *** 作的步骤如下:
在Qt Designer中,选择
QGraphicsView要替换的对象,然后右键单击它,然后选择“ 升级为…” 。在对话框中,将
Promoted类名称 设置为“ custom_gv”,并将 Header文件 设置为包含该类的模块的python导入路径(例如“
mypkg.widgets”)。然后单击 Add 和 Promote ,您将在Object Inspector窗格中看到该类从“
QGraphicsView”更改为“ custom_gv”。
当Qt Designer
ui文件转换为PyQt代码时,它将自动添加如下的import语句:
from mypkg.widgets import custom_gv
然后在转换后的代码中将替换如下内容:
self.graphicsView = QtWidgets.QGraphicsView(MainWindow)
有了这个:
self.graphicsView = custom_gv(MainWindow)
因此,
ui文件中的代码对自定义类一无所知:它只是从其他位置导入的名称。这意味着您可以完全自由地以自己喜欢的任何方式编写自定义类。
在PyQt的,这种机制的工作原理与以同样的方式
pyuic,因为它与不
uic模块。该
loadUi和
loadUiType作为功能产生完全相同的代码
pyuic一样。唯一的区别是该
pyuic工具将生成的代码写入文件,而
uic模块直接通过加载它
exec。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)