自学QT之停靠窗口
2015-09-04 11:07
309 查看
相当一部分软件界面上都会有一个停靠窗口,在不用的时候可以移动调整大小,但是他不是分割实现的,而是停靠窗口。
新建一个工程,名字随便取好了,类名为:dockwindows.cpp继承的基类保持mainwindow不变,取消界面选项。
在dockwindows.cpp文件中添加以下代码:
右侧的停靠窗口可以随意移动,并且其它窗口会跟着自动调整。
新建一个工程,名字随便取好了,类名为:dockwindows.cpp继承的基类保持mainwindow不变,取消界面选项。
在dockwindows.cpp文件中添加以下代码:
#include "dockwindows.h" #include <QTextEdit> #include <QDockWidget> DockWindows::DockWindows(QWidget *parent) : QMainWindow(parent) { setWindowTitle("dockwindows"); QTextEdit *text=new QTextEdit(this); text->setAlignment(Qt::AlignCenter); text->setText("主窗口"); setCentralWidget(text); //第一个停靠窗口 QDockWidget *dock=new QDockWidget("我的dock窗口",this); dock->setFeatures(QDockWidget::DockWidgetMovable); QTextEdit *te1=new QTextEdit(); te1->setText("该dock窗口可以被用户移动"); dock->setWidget(te1); addDockWidget(Qt::RightDockWidgetArea,dock); //第二个停靠窗口 dock=new QDockWidget("我的第二个dock窗口"); QTextEdit *te2=new QTextEdit(); te2->setText("这里是第二个窗口"); dock->setWidget(te2); addDockWidget(Qt::RightDockWidgetArea,dock); //第三个dock窗口 dock=new QDockWidget("这里是第三个dock窗口"); dock->setFeatures(QDockWidget::AllDockWidgetFeatures); QTextEdit *te3=new QTextEdit("这里是第三个"); dock->setWidget(te3); addDockWidget(Qt::RightDockWidgetArea,dock); } DockWindows::~DockWindows() { }运行后的结果如图:
右侧的停靠窗口可以随意移动,并且其它窗口会跟着自动调整。
相关文章推荐
- 源码安装Qt 5.4.2
- QTableView与QStandardItemModel基本使用方法
- 在QThread中使用QTimer
- QThread的一种用法
- 自学QT之实现窗口分割QSplitter的使用
- 自学QT之判断输入内容实现按钮可用或者不可用
- 记录Qt的一个诡异Bug
- [转载]Qt之中文显示(QMessageBox、QLineEdit右键菜单等)
- 如何在Qt中使用自定义数据类型
- [转载]Qt之自定义界面(二)添加最小化、关闭按钮、添加背景
- Qt 中如何捕获窗口停用和激活的消息
- vs2012的属性管理器和项目属性的一些问题(opencv+qt+vs2012)
- QT新建源文件模板修改
- 自学QT之自己写一个窗口
- Qt特殊符号
- Qt剪贴板复制失败的问题。
- Qt实现多线程下的信号与槽通讯
- Qt多线程
- QT 多线程程序设计
- 三个QT咨询公司以及QT5.0的主要特点