QSplitter分裂器

QSplitter

QSplitter 是 Qt 框架提供的一个小部件(widget),用于在用户界面中创建可拖动的分割窗口,允许用户调整子部件的大小和布局。它可以将父部件分割为多个可调整大小的子部件,使用户能够自定义界面的布局和大小。

QSplitter 提供了以下特性和常用方法:

  • 可以通过调用 addWidget(QWidget *widget) 将子部件添加到 QSplitter 中。
  • 使用 setOrientation(Qt::Orientation orientation) 方法可以设置分割窗口的方向,可以是水平方向 (Qt::Horizontal) 或垂直方向 (Qt::Vertical)。
  • 通过调用 handleWidth() 方法可以获取或设置分隔条(用于调整大小的可拖动区域)的宽度。
  • 可以使用 setSizes(const QList &sizes) 方法设置子部件的初始大小。sizes 参数是一个整数列表,表示每个子部件的大小。
  • 通过调用 sizes() 方法可以获取当前子部件的大小。
  • 可以使用 setCollapsible(int index, bool collapsible) 方法设置指定索引的子部件是否可折叠。
  • 通过调用 collapsible(int index) 方法可以检查指定索引的子部件是否可折叠。
  • 可以使用 setStretchFactor(int index, int stretch) 方法设置指定索引的子部件的拉伸因子,决定了子部件在可用空间中的相对大小。

下面是一个简单示例,演示如何使用 QSplitter 创建一个水平分割窗口:

// 创建 QSplitter 对象
QSplitter *splitter = new QSplitter(this);

// 创建两个子部件
QWidget *widget1 = new QWidget();
QWidget *widget2 = new QWidget();

// 将子部件添加到 splitter 中
splitter->addWidget(widget1);
splitter->addWidget(widget2);

// 设置分割窗口的方向为水平方向
splitter->setOrientation(Qt::Horizontal);

// 显示 splitter
splitter->show();

在这个示例中,我们首先创建了一个 QSplitter 对象 splitter。然后,我们创建了两个子部件 widget1widget2。通过调用 addWidget() 方法,我们将这两个子部件添加到 splitter 中。

接下来,通过调用 setOrientation() 方法,我们将分割窗口的方向设置为水平方向 (Qt::Horizontal)。

最后,我们调用 show() 方法显示 splitter

通过使用 QSplitter,我们可以让用户自由地调整子部件的大小和布局,从而实现灵活和可定制的界面布局。

你可能感兴趣的:(C++,Qt,笔记,qt,开发语言,c++)