Qt Designer中的自定义布局

8
有没有办法在Qt Designer中使用自定义布局,例如在https://doc.qt.io/archives/qt-4.7/examples-layouts.html中定义的布局?
如何在Qt Designer中添加此类自定义布局?有人能指导一下在Qt Designer中进行自定义增强所涉及的步骤吗?
1个回答

1

你不能在QtDesigner中直接创建自定义布局。相反,你可以将你的布局编写为QtDesigner的插件。之后,你可以打开QtDesigner并像Qt集合中的任何其他小部件一样将你自己的布局拖放到表单中。

请参阅这个指南,了解如何为Qt编写自己的插件。这并不是很困难。


1
但是插件不是用于自定义小部件的吗? - Orochi
1
我的意思是,当我们为QTDesigner创建插件时,不是为了使用QT Designer创建自定义小部件吗?我从未见过一个示例代码,在其中添加了自定义布局到QTDesigner中。我的问题是,如果可能的话,那么我应该遵循什么程序来使自定义布局在QT Designer中可用。 - Orochi
添加自定义布局与添加自定义小部件相同。插件不仅适用于自定义小部件(QWidget子类)。您可以从QLayout继承,制作自己的布局,并按照示例描述制作插件,即使您的小部件不是_widget_(例如示例中的时钟不是QWidget的子类)。 - maverik
但是,它能够包含其他小部件并像QT Designer中的其他默认布局一样给我预览吗? - Orochi
6
QLayout没有继承自QWidget,因此无法实现。请参见https://bugreports.qt-project.org/browse/QTBUG-3109。QDesignerCustomWidgetInterface的createWidget虚方法返回一个QWidget指针。因此,无法将其更改为返回QLayout。 - Samuel Delisle
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接