参考自《Qt5开发及实例》(第4版)主编:陆文周
1.分割窗口
代码有注释很详细
代码如下
#include<QPushButton>
#include<QApplication>
#include<QSplitter>
#include<QTextEdit>
int main(int argc, char* argv[]){
QApplication app(argc, argv);
QFont font("ZYSong18030", 12);
app.setFont(font);
//主分割窗口
QSplitter *splitterMain = new QSplitter(Qt::Horizontal, 0);
//新建QTextEdit,插入主分割窗口中
QTextEdit *textLeft = new QTextEdit(QObject::tr("left Widget"), splitterMain);
//设置QTextEdit的对齐方式为居中
textLeft->setAlignment(Qt::AlignCenter);
//新建一个右分割窗口,设置此窗口为垂直分割,并以主分割窗口为父窗口
QSplitter *splitterRight = new QSplitter(Qt::Vertical, splitterMain);
//设置分割窗口的分割条在拖拽时是否实时更新,默认值为true实时更新
splitterRight->setOpaqueResize(false);
QTextEdit *textUp = new QTextEdit(QObject::tr("up widget"), splitterRight);
textUp->setAlignment(Qt::AlignCenter);
QTextEdit *textBottom = new QTextEdit(QObject::tr("bottom widget"), splitterRight);
textBottom->setAlignment(Qt::AlignCenter);
/*
SetStretchFactor()方法用于设定可伸缩控件,它的第一个参数指定设置的控件序号,控件序号按插入的先后次序进行编号;
第二个参数为大于0的值表示此控件为可伸缩控件。
此实例中设定右部分割窗为可伸缩控件,当整个对话框的宽度发生改变时,
左部的文件编辑框宽度保持不变。右部的分割窗宽度随整个对话框大小的改变进行调整。
*/
splitterMain->setStretchFactor(1,1);
splitterMain->show();
return app.exec();
}