Qt5—可停靠窗口QDockWidget [2013-10-19整理]
来源:互联网 发布:java国家精品课程 编辑:程序博客网 时间:2024/05/16 15:57
一个很要好的朋友,他有一帮从小学初中一直玩到大学毕业至今的朋友,看着身边的朋友换了一茬又一茬儿。
终于有一天忍不住问他,为什么你们能在这个浮躁的世界里一直做好朋友做兄弟直到现在?
“我们从不深聊对方的感情,尽量AA制,还有一点儿缘分吧”
====================================================================================
QDockWidget是QWidget的子类,也等于是说他可以像其他的Widgets一样互相嵌套,搭配布局。
1.一个简单的例子,选择QMainWindow作为基类
//配置主窗口 setWindowTitle(tr("DockWindows")); QTextEdit *text = new QTextEdit(this); text->setText(tr("Main window")); text->setAlignment(Qt::AlignCenter);//QTextEdit对象内容的对齐方式 setCentralWidget(text); //配置第一个停靠窗口 QDockWidget *dock1 = new QDockWidget(tr("First Dock Window"), this); QTextEdit *dockText1 = new QTextEdit(); dockText1->setText("First Window,Try to move The title."); dock1->setWidget(dockText1); addDockWidget(Qt::RightDockWidgetArea, dock1); //配置第二个停靠窗口 QDockWidget *dock2 = new QDockWidget(tr("Second Dock Window"), this); QTextEdit *dockText2 = new QTextEdit(); dockText2->setText("Second Window,Try to move The title."); dock2->setWidget(dockText2); addDockWidget(Qt::RightDockWidgetArea, dock2); //配置第三个停靠窗口 QDockWidget *dock3 = new QDockWidget(tr("Third Dock Window"), this); QTextEdit *dockText3 = new QTextEdit(); dockText3->setText("Third Window,Try to move The title."); dock3->setWidget(dockText3); addDockWidget(Qt::RightDockWidgetArea, dock3);运行的结果可能会是这样,试着拖动DockWidget,他们之间还可以相互嵌套
2.QDockWidget类重要属性的说明
QDockWidget(const QString & title, QWidget * parent = 0, Qt::WindowFlags flags = 0)QDockWidget(QWidget * parent = 0, Qt::WindowFlags flags = 0)~QDockWidget()Qt::DockWidgetAreasallowedAreas() constDockWidgetFeaturesfeatures() constboolisAreaAllowed(Qt::DockWidgetArea area) constboolisFloating() constvoidsetAllowedAreas(Qt::DockWidgetAreas areas)voidsetFeatures(DockWidgetFeatures features)voidsetFloating(bool floating)voidsetTitleBarWidget(QWidget * widget)voidsetWidget(QWidget * widget)QWidget *titleBarWidget() constQAction *toggleViewAction() constQWidget *widget() const
tabifyDockWidget(dock1,dock2,dock3);dock3->raise();
让窗口默认以重叠方式显示,优先显示dock3
DockWidgetFeaturesfeatures() constvoidsetFeatures(DockWidgetFeatures features)
配置可停靠窗口允许停靠的区域,默认为所有区域均可停靠
Qt::LeftDockWidgetArea
Qt::RightDockWidgetArea
Qt::TopDockWidgetArea
Qt::BottomDockWidgetAreaDockWidgetFeaturesfeatures() constvoidsetFeatures(DockWidgetFeatures features)
DockWidgetClosable//标题栏显示关闭按钮
DockWidgetMovable//可拖动
DockWidgetFloatable//初始悬浮
最后一个也可以通过voidsetFloating(bool floating)来设置初始悬浮
void QDockWidget::setTitleBarWidget(QWidget * widget)自定义窗口标题栏,默认参数是0,通过它来实现好看的定制化浮动/停靠窗口
值得注意的是,如果设置了自定义标题栏,还需要设置一个合适的尺寸来保证停靠和悬浮时的合理显示
QWidget::sizeHint() and QWidget::minimumSizeHint().
- Qt5—可停靠窗口QDockWidget [2013-10-19整理]
- Qt5—嵌入停靠窗口QDockWidget
- Qt5布局管理(二)——QDockWidget停靠窗口类
- qdockwidget停靠窗口,
- QT--QDockWidget 停靠窗口
- 停靠窗口QDockWidget类
- Qt停靠窗口QDockWidget应用
- 【Qt5开发及实例】4、布局管理之停靠窗口QDockWidget类
- QT窗口布局-停靠窗口类QDockWidget
- 可停靠窗口
- QT5布局管理--停靠窗口QDock Widget
- Qt学习——停靠窗体QDockWidget类
- Qt学习——停靠窗体QDockWidget类 .
- Qt学习——停靠窗体QDockWidget类
- Qt学习——停靠窗体QDockWidget类
- Qt学习——停靠窗体QDockWidget类
- Revit二次开发之可停靠窗口
- Revit开发之可停靠窗口应用
- java的一些小知识点
- Oracle表被锁死如何解锁
- c++的小代码
- 替代的开发和使用
- Cocos2d-HTML5 学习
- Qt5—可停靠窗口QDockWidget [2013-10-19整理]
- 我的小目标
- 分享一个查找程序或者package里面的某个语句
- 05-MyBatis_关联映射之一对多
- 创建RCP应用
- android学习之Intent隐式意图
- cocos2d-x Program "bash" is not found in PATH
- 分享一个查找有更新表的程序
- int APIENTRY WinMain( )函数的参数意义