admin管理员组文章数量:1657059
Promote to 功能的官方说明:https://doc.qt.io/archives/qt-4.8/designer-using-custom-widgets.html
Qt desiner支持了所有的标准widget的可视化操作,但是一些专门的widget不能像标准widget一样进行可视化操作,因为:
- 在设计用户界面时,自定义widget可能不可用。
- 自定义widget可能是平台依赖的,设计师可能会在与最终用户不同的平台上开发用户界面。
- 自定义widget的源代码不可用,或者用户界面设计人员由于非技术原因无法使用该widget。
但qt desiner中仍可以使用自定义widget来设计应用,即通过qt desiner中的 widget promotion 功能来实现这一点。
如果自定义widget的源代码可用的话,我们可以用qt desiner调整这些自定义widget。
Promoting Widgets
如果一些样式是必须设计的,但是其中用到的自定义部件在qt desiner里没有可视化图形,我们可以用与自定义部件相似的部件来替代缺少的部件。
例如,我们可以用QPushButton的实例来表示一个自定义的按钮类MyPushButton的实例,并将这些实例 promote 到MyPushButton,这样uic就会为这个缺失的类生成合适的代码。
当选择一个标准widget作为替代自定义widget的占位符的时候,应该比较一下自定义widget和标准widget两者之间的API,对于那些继承于标准类型widget的自定义widget来说,首选的占位符是它们的基类。比如说一个QSlider类widget可以用于替代一个继承于QSlider类的自定义widget类。
如果说你的自定义widget和哪个标准widget都不共享API,你可以考虑调整一下你的自定义widget来让它和某个标准的widget共享API。如果实在没办法的话,你可以选择QWidget来替代你的自定义widget,因为QWidget是所有类的基类。
使用promote功能的具体操作是首先选择一个合适的标准widget拖到窗口中,然后右键点击该widget,选择“promote to”。在对话框下半部分输入类名和头文件名后,选择添加。占位类将与基类一起出现在上层列表中,最后单击 "promote"按钮即可。
当你添加了一个自定义widget类作为某个标准widget的promote目标后,在你下次右键点开“promote to”选项时,该自定义类会自动在菜单里显示出来,方便其他标准widget来promote。
如果你撤销你对标准widget的promote操作,只需右键点击该widget,选择“demote to”即可。
版权声明:本文标题:Qt Creator “Promote to“功能 笔记 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1729768197a1212309.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论