【问题标题】:Promoting a top level widget using Qt Designer使用 Qt Designer 提升顶级小部件
【发布时间】:2017-09-18 10:26:16
【问题描述】:

我正在尝试使用 Qt Designer 中的 "promote to" 菜单将顶级 QWidget 提升为派生的 MyWidget 类。

为此,我使用"promoted widgets.." 菜单定义了促销。

我还添加了一个子QWidget(紫色)到顶层QWidget,并且我能够使用"promote to" 选项将其提升为MyWidget,该选项出现在右键单击对象检查器。 (如图)

但是对于顶级QWidget,右键单击不能访问"promote to" 菜单,而QFrame 也有同样的问题。

Qt Designer 可以做到吗?

谢谢。

【问题讨论】:

  • 在某种程度上,您可以说顶级级别已经提升,因为您使用的是自定义小部件,在您的情况下是小部件。
  • 实际上,我明白为什么根小部件是一个特例。 uic 生成一个具有此小部件名称的类( class Ui::Widget ),子小部件是此类的公共成员,并在 setupUi 函数中实例化。然后使用 Qt 的单继承方法,可能更容易编写 QWidget ( MyWidget ) 的派生类并在其上应用 setupUi 函数。所以我想在 Qt Designer 中这样做是没有意义的。

标签: qt qt-designer


【解决方案1】:

不,您不能在 Designer 中推广顶级 Widget。但是你可以手动完成。只需在文本编辑器中打开 ui 文件并对顶级小部件进行必要的更改。您可以在您的子小部件定义中看到您需要哪些更改。只需复制粘贴所需的字段和值。

【讨论】:

  • 如果类的路径在另一个子目录中,我如何把它放在那里?我的 UI 目录与其他类和头文件分开。
猜你喜欢
  • 2016-07-05
  • 1970-01-01
  • 2013-06-06
  • 1970-01-01
  • 2021-01-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多