跟我一起学QT5:布局管理

0. 源代码下载

1. 分组布局

https://github.com/leichaojian/qt/tree/master/preferences

2. 切分窗口

https://github.com/leichaojian/qt/tree/master/splitter


1. 分组布局

1. 程序效果图

跟我一起学QT5:布局管理

2. 关键代码


//列表框
    listWidget = new QListWidget;
    listWidget->addItem(tr("Appearance"));
    listWidget->addItem(tr("Web Browser"));
    listWidget->addItem(tr("Mail & News"));
    listWidget->addItem(tr("Advanced"));

    //分页--通过设置当前的页号,来调用appearancePage/webBrowserPage/mailAndNewsPage/advancedPage
    stackedLayout = new QStackedLayout;
    stackedLayout->addWidget(appearancePage);
    stackedLayout->addWidget(webBrowserPage);
    stackedLayout->addWidget(mailAndNewsPage);
    stackedLayout->addWidget(advancedPage);



3. 代码分析

1. 通过创建一个QListWidget,并且把它和这些分页的名字一起配合使用。

2. 通过创建一个QStackedLayout,并且对每一个分页分别调用addWidget()。

3. 通过信号连接分组布局,来实现分页的切换操作。


2. 切分窗口

1. 程序效果图

跟我一起学QT5:布局管理

2. 关键代码


QTextEdit *editor1 = new QTextEdit;
QTextEdit *editor2 = new QTextEdit;
QTextEdit *editor3 = new QTextEdit;

QSplitter splitter(Qt::Horizontal);
splitter.addWidget(editor1);
splitter.addWidget(editor2);
splitter.addWidget(editor3);



3. 代码分析

1. QSplitter中的子窗口部件将会自动按照创建时的顺序一个挨一个地放在一起,并以切分窗口拖动条来分割相邻窗口部件。


你可能感兴趣的:(跟我一起学QT5:布局管理)