Qt 中对话框的通用 ui 基础

Posted

技术标签:

【中文标题】Qt 中对话框的通用 ui 基础【英文标题】:Common ui base for dialogs in Qt 【发布时间】:2014-06-23 19:54:03 【问题描述】:

在 Qt 小部件应用程序中,我希望我的所有对话框都有一个通用的基本视图,以便我可以从中继承其他类。

这个“基本/通用”视图最初会在底部包含一组按钮,在顶部包含一个带有数据的自定义框架。派生类将使用中间的位置来放置特定于视图的内容。如果将来通用对话框样式发生变化,则将仅在一个类中应用更改。

有没有办法在 Qt 中使用这种方法,因为 ui 文件是用 'uic' 处理来创建类的?理想的情况是不要失去使用 gui 设计器的能力,至少对于派生类。 任何提示都非常感谢。

【问题讨论】:

【参考方案1】:

您可以将您的“基本视图”作为自己的 ui 文件,中间有一个大 QFrame,其中没有任何内容,并将其命名为 contentsFrame。然后创建您想要放置在设计器中的空 contentsFrame 中的其他小部件。

现在您有几个选择。您可以在设计器中并排打开两者,单击您的内容小部件,全选,然后将所有内容拖到您的 contentsFrame 中。然后只需点击另存为并将其保存为不同的小部件。如果您不害怕离开设计师一点点,您可以将您的内容小部件添加到代码中的基本小部件中。无论哪种方式,请确保您正在为您的 contentsFrame 设置布局,否则一切都会看起来像垃圾。

【讨论】:

以上是关于Qt 中对话框的通用 ui 基础的主要内容,如果未能解决你的问题,请参考以下文章

QT调用软键盘问题,要输入的编辑框在对话框Dialog中(UI界面)

Qt无法从继承类访问*ui指针

Qt ui界面调用问题

Qt 调用另一个 UI

qt ui界面如何把对其方式设置为alignment

Qt中如何添加UI