Qt QWidget多个实例

时间:2016-05-23 15:46:00

标签: c++ qt qt-designer qtgui

我们是多个人在一个Qt应用程序上工作。我正在实现一个库,它将在应用程序的多个其他部分实例化。这个库有一个显示类+形式。

到目前为止,我只是创建了一个库的单个实例,在虚拟机上运行,​​并将调试数据传递给display + form的一个实例,并且就像这样工作。

但是现在核心调试已经完成,目标是让一切都可以实现 - 不仅仅是核心库代码,还有表单本身,并将该表单嵌入到其他显示中。每个调用者/用户都可以负责将他们正在使用的核心库实例的输出数据传递给表单的实例。表单的每个实例将分别显示由特定库实例生成的信息,可能具有不同的显示选项 - 它们都是独立的。

同样,可以在我的显示中输入值。目标是能够在应用程序中实例化的不同显示中输入不同的值,并将其发送到特定实例(调用者的责任)。

问题当然是:怎么做?互联网谈论推广,但我仍然没有在Qt Designer中看到任何地方在其他对象中包含所谓的提升对象。

TL; DR::我想在Qt Designer左侧的菜单中显示一些现有的表单,以便能够以其他形式多次实例化它。怎么做?

提前感谢您的帮助!

查尔斯

2 个答案:

答案 0 :(得分:2)

您可以在Qt Designer中向控件宣传任何QWidget。添加QWidget,右键单击并进行推广。

理想情况下,您应该为您的控件创建一个设计器插件,使相关属性可设计,并构建插件以及库。这样你就可以从调色板中拖动你的控件,它的行为就像真实的一样。

答案 1 :(得分:1)

  

Qt QWidget多个实例

你自己回答了。 Qt Creator:" File-> New-> Qt-> Qt Designer Form Class" QWidget作为基类适合您。然后,您可以在UI中将简单的{{1}}提升到此自定义窗口小部件中,以创建实例。每个实例都将管理自己的UI。