Qt 5.x自定义小部件的创建和使用

时间:2013-12-07 20:23:19

标签: qt

我在缺席几年后回到Qt编程,我开始使用Qt 5.1。在过去,我使用了设计师,并使用了大量手工制作的代码将Qt项目放在一起。现在,我们想大量使用造物主。

但我没有看到如何完成一些看似基本的任务。例如,我想设计一个自定义小部件,然后将其拉入我的主应用程序,但是虽然Creator允许我在一个项目中创建多个文件,但就创建者本身而言,他们似乎并不了解彼此。被关注到。一旦构建了我的小部件,就无法将其拉入主应用程序,也无法独立测试它,至少我能找到它。

好像Qt的文档在某个地方受到了重大打击。与过去可用的极其详细的文档相比,它是粗略而薄的。

如果有人可以给我指出一套不错的文档和教程,我将不胜感激。

1 个答案:

答案 0 :(得分:3)

单元测试

使用Qt测试模块:https://doc.qt.io/qt-5/qttest-index.html

使用自定义小工具

我不是100%确定“将[小部件]拉入主应用程序”的含义。

如果要在Qt Designer中组合自定义小部件,请在父级中添加占位符(空白)QWidget并将其推广到自定义小部件:

如果要在C ++中组合自定义小部件,请使用QLayout::addWidget()实例化自定义子小部件并将其添加到父小部件的布局中:

如果您想让您的应用程序显示自定义窗口小部件,只需#include窗口小部件的标题,实例化窗口小部件,然后调用QWidget::show()

如果要在单独的独立项目中开发自定义窗口小部件,请将其作为子项目包含在主项目中:

其他笔记

  • Qt Designer已经集成到Qt Creator中多年。 Qt Designer及其文档在Qt 4.8和Qt 5之间变化很小。
  • Qt 5非常详细的文档位于https://doc.qt.io/qt-5/。右侧导航栏中有指向有用文档集的链接。
  • 我建议探索QML / Qt Quick。与基于窗口小部件的GUI相比,创建基于QML的GUI要容易得多。它仍然是一种年轻的技术,所以它可能不适合你的需求:http://doc.qt.io/qt-5/qmlapplications.html