使用QSplitter和QDockWidget分割窗口

来源:互联网 发布:动态头像制作软件 编辑:程序博客网 时间:2024/05/17 23:21

1.使用qsplitter分割窗口:
源代码:

    QFont font("ZYSong18030",40);    a.setFont(font);    //主分割窗口    QSplitter *splitterMain =new QSplitter(Qt::Horizontal,0);    //左侧窗口    QTextEdit *textLeft =new QTextEdit(QObject::tr("Left QTextEdit"),splitterMain);    textLeft->setAlignment(Qt::AlignCenter);    //右部分割窗口    QSplitter *splitterRight =new QSplitter(Qt::Vertical,splitterMain);    splitterRight->setOpaqueResize(false);    QTextEdit *textUp =new QTextEdit(QObject::tr("Top QTextEdit"),splitterRight);    textUp->setAlignment(Qt::AlignCenter);    QTextEdit *textBottom =new QTextEdit(QObject::tr("Bottom QTextEdit"),splitterRight);    textBottom->setAlignment(Qt::AlignCenter);    //splitterMain->setStretchFactor(1,1);    splitterMain->setWindowTitle(QObject::tr("Splitter"));    splitterMain->show();

运行效果:

这里写图片描述

2.使用QDockWidget分割窗口

setWindowTitle(tr("DockWindows"));  //设置主窗口的标题栏文字    QTextEdit *te=new QTextEdit(this);  //定义一个QTextEdit对象作为主窗口    te->setText(tr("Main Window"));    te->setAlignment(Qt::AlignCenter);    setCentralWidget(te);               //将此编辑框设为主窗口的中央窗体    //停靠窗口1    QDockWidget *dock=new QDockWidget(tr("DockWindow1"),this);    dock->setFeatures(QDockWidget::DockWidgetMovable);            //可移动    dock->setAllowedAreas(Qt::LeftDockWidgetArea|Qt::RightDockWidgetArea);    QTextEdit *te1 =new QTextEdit();    te1->setText(tr("Window1,The dock widget can be moved Lest or Right" ""));    dock->setWidget(te1);    addDockWidget(Qt::RightDockWidgetArea,dock);    //停靠窗口2    dock=new QDockWidget(tr("DockWindow2"),this);    dock->setFeatures(QDockWidget::DockWidgetClosable|QDockWidget::DockWidgetFloatable); //可关闭、可浮动    QTextEdit *te2 =new QTextEdit();    te2->setText(tr("Window2,The dock widget can be detached from the main window,""and floated as an independent window, and can be closed"));    dock->setWidget(te2);    addDockWidget(Qt::RightDockWidgetArea,dock);    //停靠窗口3    dock=new QDockWidget(tr("DockWindow3"),this);    dock->setFeatures(QDockWidget::AllDockWidgetFeatures);     //全部特性    QTextEdit *te3 =new QTextEdit();    te3->setText(tr("Window3,The dock widget can be closed, moved, and floated"));    dock->setWidget(te3);    addDockWidget(Qt::RightDockWidgetArea,dock);

注意: 继承自QMainWindow的类中添加
效果图:
这里写图片描述
这里写图片描述
这里写图片描述

原创粉丝点击