【问题标题】:How do i cause a qtabwidget instance to automatically resize when child tabs are added to it?当添加子选项卡时,如何使 qtabwidget 实例自动调整大小?
【发布时间】: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 实例自动调整大小?

【问题讨论】:

    标签: c++ qt qt4


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

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

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

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-05-21
          • 2011-09-07
          • 1970-01-01
          • 2021-08-09
          • 2012-08-29
          • 2013-01-19
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多