Qt

时间:2017-07-07 21:31:03

标签: c++ qt user-interface custom-controls

我有使用WinAPI在Java,C#和C ++中构建GUI的经验。我正在使用Qt在C ++中尝试我的第一个GUI,但我遇到了一些过渡问题。在其他三个GUI范例中,我可以创建自己的GUI组件,扩展现有的JPanel等,最后得到一个可以添加到其他GUI窗口的自定义GUI元素。 C#特别擅长于此,因为我编辑的任何内容在编译后会自动显示在工具箱中。

从我所看到的Qt中只有两个选项,我希望有一些我不知道的东西。选项包括:

  • 创建一个自定义窗口小部件,然后可以使用提升到右侧窗口小部件的窗口小部件容器导入该窗口小部件。
  • 构建我喜欢的内容并将其拖到暂存器中,从中我可以将其复制到我心中。

问题是我想在运行时动态添加/删除GUI元素。例如,我有一个模型 - 视图 - 控制模式。视图和控件是GUI中的两个不同面板。当我在一个面板中切换到不同的视图时,我想从另一个面板中删除该控件,并将其替换为新视图的右控件。

据我所知,我可以使用自定义小部件来做到这一点,但是对于大量的小部件来说,为了更好的功能而做这件事似乎非常沉重。虽然我可以在暂存器中执行我想要的那种构图,但我无法弄清楚如何动态添加我在暂存器中保存的内容。

有可能有一种我没有找到的Qt做事方式。例如,我有一些朋友使用不同的标签成功创建了上面的效果。这似乎是一个廉价的答案,我可以使用,但我想相信Qt有足够的灵活性让我构建任何类型的GUI。

任何建议都会有所帮助

---------------------改进示例--------------------

让我使用@ m7913d给出的示例代码。 (http://doc.qt.io/qt-5/qtwidgets-layouts-basiclayouts-example.html)假设我想将gui的这部分组成一个可重用的组件,我可以将其添加到我想要的任何GUI中。我该怎么做?GUI element

如果这是C#,我会创建一个新的用户控件,添加GUI元素,设置使该单元作为一个整体工作的代码,并可能整体设置事件监听器或用户控件的属性。然后我可以从GUI的其余部分随意实例化,添加和删除它们。这就是我想要的。

0 个答案:

没有答案