【Qt5开发及实例】3、布局管理之分割窗口QSplitter
2014-12-19 22:15
597 查看
首先看看目标效果
代码:
我们可以做点小改动,使他变成这个样的,我们就更好理解QSplitter了
代码:
这样大家就应该能明白他们之间的差别了吧!
代码:
#include "mainwindow.h" #include <QApplication> #include <QTextEdit> #include <QSplitter> #include <QTextCodec> int main(int argc, char *argv[]) { QApplication a(argc, argv); QFont font("ZYSong18030", 12); a.setFont(font); //设定字体的类型 //主分割窗口 //第二个设定0代表是主窗口,无父窗口 QSplitter *splitterMain = new QSplitter(Qt::Horizontal, 0); //水平分割主窗口,这个吧主窗口分为平行的两个窗口 //自动按从左到右的顺序修改 QTextEdit *textLeft = new QTextEdit(QObject::tr("Left Widget"), splitterMain); //新建的一个QTextEidt对象填入splitterMain里面 textLeft->setAlignment(Qt::AlignCenter); //文字居中放置 ,把左边的设置完了之后 //右部分分割窗口 //1,新创建一个分割加到主窗口上 QSplitter *splitterRight = new QSplitter(Qt::Vertical, splitterMain); //垂直分割 splitterRight->setOpaqueResize(false); QTextEdit *textUp = new QTextEdit(QObject::tr("Top Widget"), splitterRight); textUp->setAlignment(Qt::AlignCenter); QTextEdit *textBottom = new QTextEdit(QObject::tr("Bottom Widget"), splitterRight); textBottom->setAlignment(Qt::AlignCenter); splitterMain->setStretchFactor(0, 0); splitterMain->setWindowTitle(QObject::tr("Splitter")); splitterMain->show(); //这个是按程序的排序方向制动设定为第一个列或者行的 // MainWindow w; // w.show(); return a.exec(); }
我们可以做点小改动,使他变成这个样的,我们就更好理解QSplitter了
代码:
#include "mainwindow.h" #include <QApplication> #include <QTextEdit> #include <QSplitter> #include <QTextCodec> int main(int argc, char *argv[]) { QApplication a(argc, argv); QFont font("ZYSong18030", 12); a.setFont(font); //设定字体的类型 //主分割窗口 //第二个设定0代表是主窗口,无父窗口 QSplitter *splitterMain = new QSplitter(Qt::Horizontal, 0); //水平分割主窗口,这个吧主窗口分为平行的两个窗口 QSplitter *splitterRight2 = new QSplitter(Qt::Vertical, splitterMain); //垂直分割 splitterRight2->setOpaqueResize(true); QTextEdit *textLeft0 = new QTextEdit(QObject::tr("Left Widget"), splitterRight2); //新建的一个QTextEidt对象填入splitterMain里面 textLeft0->setAlignment(Qt::AlignCenter); //文字居中放置 ,把左边的设置完了之后 QTextEdit *textLeft00 = new QTextEdit(QObject::tr("Left333 Widget"), splitterRight2); //新建的一个QTextEidt对象填入splitterMain里面 textLeft00->setAlignment(Qt::AlignCenter); //文字居中放置 ,把左边的设置完了之后 QTextEdit *textLeft000 = new QTextEdit(QObject::tr("Left333 Widget"), splitterRight2); //新建的一个QTextEidt对象填入splitterMain里面 textLeft000->setAlignment(Qt::AlignCenter); //文字居中放置 ,把左边的设置完了之后 //自动按从左到右的顺序修改 QTextEdit *textLeft = new QTextEdit(QObject::tr("Left Widget"), splitterMain); //新建的一个QTextEidt对象填入splitterMain里面 textLeft->setAlignment(Qt::AlignCenter); //文字居中放置 ,把左边的设置完了之后 QTextEdit *textLeft22 = new QTextEdit(QObject::tr("Left22 Widget"), splitterMain); //新建的一个QTextEidt对象填入splitterMain里面 textLeft22->setAlignment(Qt::AlignCenter); //文字居中放置 ,把左边的设置完了之后 //右部分分割窗口 //1,新创建一个分割加到主窗口上 QSplitter *splitterRight = new QSplitter(Qt::Vertical, splitterMain); //垂直分割 splitterRight->setOpaqueResize(false); QTextEdit *textUp = new QTextEdit(QObject::tr("Top Widget"), splitterRight); textUp->setAlignment(Qt::AlignCenter); QTextEdit *textBottom = new QTextEdit(QObject::tr("Bottom Widget"), splitterRight); textBottom->setAlignment(Qt::AlignCenter); splitterMain->setStretchFactor(0, 0); splitterMain->setWindowTitle(QObject::tr("Splitter")); splitterMain->show(); //这个是按程序的排序方向制动设定为第一个列或者行的 // MainWindow w; // w.show(); return a.exec(); }
这样大家就应该能明白他们之间的差别了吧!
相关文章推荐
- Qt布局管理: 分割窗口QSplitter类讲解(纯代码实现分割窗口)
- 【Qt5开发及实例】4、布局管理之停靠窗口QDockWidget类
- Qt布局管理: 分割窗口QSplitter类讲解(纯代码实现分割窗口)
- 【Qt5开发及实例】5、布局管理之堆栈窗体QStackedWidget类
- 【Qt5开发及实例】6、布局管理之基本布局
- 布局管理(分割窗口QSplitter类、停靠窗口QDockWidget类、堆栈窗体QStackedWidget类、基本布局(QLayout))
- 用Grid和GridSplitter布局和分割WPF窗口
- 用Grid和GridSplitter布局和分割WPF窗口
- 用Grid和GridSplitter布局和分割WPF窗口
- WPF-GRID分割多窗口 用Grid和GridSplitter布局和分割WPF窗口
- Qt之布局管理——分割窗口
- QT5布局管理——分割窗口QSplitter类
- FLEX- MDI窗口开发实例(2)
- EVC开发实例一:窗口切换
- Eclipse插件开发系列5.SWT中的布局管理器(3)
- EVC开发实例三:浏览器窗口
- Splitter的使用及窗口布局
- MFC窗口位置管理详细分析及实例
- MFC窗口位置管理详细分析及实例(转)
- 《深入浅出——SQL Server 2005开发、管理与应用实例》 销售商列表