2013-12-07 67 views
0

我在几年后没有回到Qt编程,而我从Qt 5.1开始。过去,我使用过设计器和大量手工编写的代码来将Qt项目组合在一起。现在,我们想大量使用造物主。Qt 5.x自定义小部件的创建和使用

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

看起来好像Qt的文档已经在线路上发生了重大打击。与过去可用的极其详细的文档相比,它是粗略和薄弱的。

如果有人能指点我一个体面的文档和教程集合,我将不胜感激。

回答

2

单元测试

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

使用自定义窗口小部件

我不是100%肯定你的意思“拉[小部件]进入主应用程序“

如果您想您的自定义小部件在Qt设计相结合,在父添加一个占位符(空白)的QWidget并将它提升您的自定义窗口小部件:

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

如果你想使你的应用程序中显示的自定义窗口小部件,只需#include widget的头,实例化小部件,并调用QWidget::show()

如果你想开发自定义窗口小部件在一个单独的独立项目,包括在你的主要项目作为子项目:

其他注意事项

  • Qt设计已经融入了Qt Creator的多年。 Qt设计和它的文档已经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
+0

也许我不清楚。我想要做的是构建一个自定义小部件,然后在另一个(可能是其他几个)项目中使用它。我不清楚如何在Creator中实现这一点。在过去,我或多或少手工做的,在一个大项目的子目录中创建一个构件,然后可以促进类似的widget作为你的描述,或服用它创建Desigener插件的额外步骤。造物主不允许多部分项目? Qt Quick对我来说是新的,但可能会有用。仍然在学习它,尽管它有几个我不关心或者似乎不受欢迎的限制。 – SixDegrees

+0

我明白了。我在答案中添加了子项目的链接。 HTH。 – JKSH