当添加子选项卡时,如何使 qtabwidget 实例自动调整大小?
Posted
技术标签:
【中文标题】当添加子选项卡时,如何使 qtabwidget 实例自动调整大小?【英文标题】:How do i cause a qtabwidget instance to automatically resize when child tabs are added to it? 【发布时间】:2009-05-09 16:01:26 【问题描述】:我试图让 QTabWidget 在添加子项时自动调整大小以适合子选项卡,但无法这样做。我使用 Qt Designer 创建了一个表单,并使用如下单一继承方法继承了它。
class MyWidget : public QWidget
Q_OBJECT
public:
MyWidget(QWidget *parent = 0);
private:
Ui::MyForm ui;
;
我有一个 QTabWidget,我正在使用 addTab() 将对象的实例添加到我的 QTabWidget。当我显示 QTabWidget 时,我注意到它没有调整大小以适应 MyWidget 实例。我需要做些什么来确保 QTabWidget 实例自动调整大小?
【问题讨论】:
【参考方案1】:在设计器中,确保向小部件添加布局。单击小部件的背景,以便在应用布局时将其应用于整个小部件。诀窍是构建表单的基础(父)小部件需要布局,而不仅仅是表单中的项目。
网格通常很容易使用。但有时其他的更好。 Designer 使用起来可能很棘手,需要一段时间才能习惯。基本上每个小部件都应该应用一个布局。如果你不这样做,奇怪的事情就会发生。
【讨论】:
【参考方案2】:我相信这是 Creator 的错误(至少对于 V4.7.4 开源)。 我的解决方案如下。
不要在主项目中创建 QTabWidget 对象。
独立创建(通过创建Qt-> Form-class)。
然后,将 3 个文件(.h、.cpp、.ui)复制到项目中,并添加到项目中。
结果是:它调整大小作为主窗口调整大小。
【讨论】:
【参考方案3】:要将任何小部件放入其父小部件中,您需要使用特定的布局(网格、水平、垂直等)。
【讨论】:
以上是关于当添加子选项卡时,如何使 qtabwidget 实例自动调整大小?的主要内容,如果未能解决你的问题,请参考以下文章
使用tabview更改选项卡时如何使SwiftUI中的计时器保持触发