Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/101.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt5.x自定义小部件的创建和使用_Qt - Fatal编程技术网

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

Qt5.x自定义小部件的创建和使用,qt,Qt,离开几年后,我又回到了Qt编程,我从Qt5.1开始。在过去,我使用设计器和大量手工编写的代码将Qt项目组合在一起。现在,我们要充分利用造物主 但我不知道如何完成一些看似基本的任务。例如,我想设计一个自定义小部件,然后将其拉入我的主应用程序,但尽管创建者允许我在一个项目中创建多个文件,但就创建者本身而言,它们似乎彼此不了解。一旦我的小部件构建完成,就没有办法将其拉入主应用程序,也没有办法对其进行独立测试,至少我能够找到 似乎Qt的文档在这条路线的某个地方遭受了重大打击。与过去提供的极其详细的文档相

离开几年后,我又回到了Qt编程,我从Qt5.1开始。在过去,我使用设计器和大量手工编写的代码将Qt项目组合在一起。现在,我们要充分利用造物主

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

似乎Qt的文档在这条路线的某个地方遭受了重大打击。与过去提供的极其详细的文档相比,它是粗略和精简的


如果有人能给我指点一套像样的文档和教程,我将不胜感激。

单元测试

使用Qt测试模块:

使用自定义小部件

我不能100%确定你所说的“将[小部件]拉入主应用程序”是什么意思

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

如果您想在C++中组合自定义小部件,请实例化自定义子控件并将其添加到父控件的布局中,使用<代码> qFrase:AdvIdGET()/< > > /<

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

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

其他注释

  • Qt Designer已集成到Qt Creator中多年。QtDesigner及其文档在Qt4.8和Qt5之间几乎没有变化
  • Qt 5的详细文档见。右侧导航栏中有指向有用文档集合的链接
  • 我建议快速探索QML/Qt。与基于小部件的GUI相比,创建基于QML的GUI要容易得多。但这仍然是一项年轻的技术,因此可能还不适合您的需要:

  • 单元测试

    使用Qt测试模块:

    使用自定义小部件

    我不能100%确定你所说的“将[小部件]拉入主应用程序”是什么意思

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

    如果您想在C++中组合自定义小部件,请实例化自定义子控件并将其添加到父控件的布局中,使用<代码> qFrase:AdvIdGET()/< > > /<

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

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

    其他注释

    • Qt Designer已集成到Qt Creator中多年。QtDesigner及其文档在Qt4.8和Qt5之间几乎没有变化
    • Qt 5的详细文档见。右侧导航栏中有指向有用文档集合的链接
    • 我建议快速探索QML/Qt。与基于小部件的GUI相比,创建基于QML的GUI要容易得多。但这仍然是一项年轻的技术,因此可能还不适合您的需要:

    也许我说得不清楚。我想做的是构建一个自定义小部件,然后在另一个(可能是其他几个)项目中使用它。我不清楚如何在Creator中实现这一点。在过去,我或多或少是手工操作的,在一个较大项目的子目录中创建小部件,然后升级一个类似的小部件,或者采取额外的步骤为它创建一个designer插件。创建者不允许多部分项目吗?Qt-Quick对我来说是新概念,但可能有用。我仍然在学习它,虽然它有一些我不喜欢的限制,或者说似乎是。我明白了。我在答案中添加了子项目的链接。嗯,也许我不太清楚。我想做的是构建一个自定义小部件,然后在另一个(可能是其他几个)项目中使用它。我不清楚如何在Creator中实现这一点。在过去,我或多或少是手工操作的,在一个较大项目的子目录中创建小部件,然后升级一个类似的小部件,或者采取额外的步骤为它创建一个designer插件。创建者不允许多部分项目吗?Qt-Quick对我来说是新概念,但可能有用。我仍然在学习它,虽然它有一些我不喜欢的限制,或者说似乎是。我明白了。我在答案中添加了子项目的链接。嗯。