QSplitter类是一个窗口分隔条,它可以将父窗口分割成多个子窗口。每个子窗口都可以用鼠标调整大小。
QSplitter类的常用方法:
- addWidget(QWidget *widget):在分隔条中添加一个子窗口控件。
- setOrientation(Qt::Orientation orientation):设置分隔条的方向,可选值为Qt::Horizontal和Qt::Vertical。
- setSizes(const QList
&sizes):设置每个子窗口控件的初始大小,参数为一个int类型的列表,列表中的每个元素表示相应子窗口控件的初始大小,列表中的元素数量必须与子窗口控件的数量相同。 - handle(int index):返回指定子窗口控件的分隔条句柄。
下面是一个使用QSplitter类的示例c++代码:
#include <QApplication>
#include <QSplitter>
#include <QTextEdit>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
// 创建分隔条对象
QSplitter splitter(Qt::Horizontal);
// 创建两个文本编辑器并添加到分隔条中
QTextEdit *leftTextEdit = new QTextEdit;
QTextEdit *rightTextEdit = new QTextEdit;
splitter.addWidget(leftTextEdit);
splitter.addWidget(rightTextEdit);
// 设置默认大小比例
QList<int> sizes;
sizes << 200 << 600;
splitter.setSizes(sizes);
// 显示分隔条并运行程序
splitter.show();
return a.exec();
}
该程序创建了一个水平方向的分隔条,将两个QTextEdit控件添加到分隔条中,并设置默认大小比例为200:600。运行程序后可以看到,左侧文本编辑器控件占总宽度的1/3,右侧文本编辑器控件占总宽度的2/3。可以用鼠标拖动分隔条来调整子窗口的大小。