0

我试图让 QTabWidget 在添加子项时自动调整大小以适合子选项卡,但无法这样做。我使用 Qt Designer 创建了一个表单,并使用如下的单一继承方法继承了它。

class MyWidget : public QWidget
{
    Q_OBJECT

public:
    MyWidget(QWidget *parent = 0);
private:
    Ui::MyForm ui;
};

我有一个 QTabWidget,我正在使用 addTab() 将对象的实例添加到我的 QTabWidget。当我显示 QTabWidget 时,我注意到它没有调整大小以适应 MyWidget 实例。我需要做什么来确保 QTabWidget 实例自动调整大小?

4

3 回答 3

2

在设计器中,确保向小部件添加布局。单击小部件的背景,以便在应用布局时将其应用于整个小部件。诀窍是构建表单的基础(父)小部件需要布局,而不仅仅是表单中的项目。

网格通常很容易使用。但有时其他的更好。Designer 使用起来可能很棘手,需要一段时间才能习惯。基本上每个小部件都应该应用一个布局。如果你不这样做,奇怪的事情就会发生。

于 2009-05-12T19:28:41.230 回答
1

我相信这是 Creator 的错误(至少对于 V4.7.4 开源)。我的解决方案如下。

不要在主项目中创建 QTabWidget 对象。

独立创建它(通过创建 Qt-> Form-class)。

然后,将 3 个文件(.h、.cpp、.ui)复制到项目中,并将它们添加到项目中。

结果是:它调整大小作为主窗口调整大小。

于 2011-12-20T14:57:53.533 回答
0

要将任何小部件放入其父小部件中,您需要使用特定的布局(网格、水平、垂直等)。

于 2009-05-09T18:08:38.730 回答