代码
FirstQT::FirstQT(QWidget *parent) : QMainWindow(parent) { ui.setupUi(this); //设置主窗口 setWindowTitle(tr("DockWindwos")); QTextEdit *te=new QTextEdit(this); 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 between docks by the user")); 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 floated 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); }
效果
使用到的函数:
features : DockWidgetFeatures
This property holds whether the dock widget is movable, closable, and floatable.
By default, this property is set to a combination of DockWidgetClosable, DockWidgetMovable and DockWidgetFloatable.
Access functions:
DockWidgetFeatures | features() const |
void | setFeatures(DockWidgetFeatures features) |
Notifier signal:
void | featuresChanged(QDockWidget::DockWidgetFeatures features) |
其中,DockWidgetFeature为:
enum QDockWidget::DockWidgetFeature
flags QDockWidget::DockWidgetFeatures
QDockWidget::DockWidgetClosable | 0x01 | The dock widget can be closed. On some systems the dock widget always has a close button when it's floating (for example on MacOS 10.5). |
QDockWidget::DockWidgetMovable | 0x02 | The dock widget can be moved between docks by the user. |
QDockWidget::DockWidgetFloatable | 0x04 | The dock widget can be detached from the main window, and floated as an independent window. |
QDockWidget::DockWidgetVerticalTitleBar | 0x08 | The dock widget displays a vertical title bar on its left side. This can be used to increase the amount of vertical space in a QMainWindow. |
QDockWidget::AllDockWidgetFeatures | DockWidgetClosable | DockWidgetMovable | DockWidgetFloatable | (Deprecated) The dock widget can be closed, moved, and floated. Since new features might be added in future releases, the look and behavior of dock widgets might change if you use this flag. Please specify individual flags instead. |
QDockWidget::NoDockWidgetFeatures | 0x00 | The dock widget cannot be closed, moved, or floated. |
allowedAreas : Qt::DockWidgetAreas
This property holds areas where the dock widget may be placed.
The default is Qt::AllDockWidgetAreas.
Access functions:
Qt::DockWidgetAreas | allowedAreas() const |
void | setAllowedAreas(Qt::DockWidgetAreas areas) |
Notifier signal:
void | allowedAreasChanged(Qt::DockWidgetAreas allowedAreas) |
enum Qt::DockWidgetArea
flags Qt::DockWidgetAreas
Qt::LeftDockWidgetArea | 0x1 |
Qt::RightDockWidgetArea | 0x2 |
Qt::TopDockWidgetArea | 0x4 |
Qt::BottomDockWidgetArea | 0x8 |
Qt::AllDockWidgetAreas | DockWidgetArea_Mask |
Qt::NoDockWidgetArea | 0 |
相关推荐
Qt5开发及实例,实例CH302,停靠窗口QDockWidget类的使用:窗口1只可在主窗口的左边和右边停靠;窗口2只可在浮动和右部停靠两种状态间切换,并且不可移动; 本实例是采用编写代码的方式实现的,具体步骤如下。 (1)...
本实例详细说明了在Qt中如何使用QDockWidget类,即在QMainWindow的框架下向各个停靠区添加QDockWidget窗体。当然可以自己设计ui,创建需要添加的窗体。对Qt初学者有极大的参考价值。
Qt例程源代码QDockWidget.7z
在指定区域拖拉出一个新窗体,此窗体可改变大小,可移动,可叠加,可关闭.
QT遍历窗体的控件的方法 QT遍历窗体的控件 QT遍历窗体 QT遍历控件 QT遍历所有控件 QT遍历窗体的控件的方法 QT遍历窗体的控件 QT遍历窗体 QT遍历控件 QT遍历所有控件
关于使用Qt制作不规则窗体方法的文档,包含Qt3和Qt4两种实现方法的源码演示。感觉在Qt里便这种GUI特效比在MFC里要容易的多,大家可以对比看看哈,Qt的代码只需要几十行就搞定了,经试用过了,源码在Ubuntu里编译有效...
主要使用Qt停靠控件QDockWidget、树控件QTreeWidget及Qt属性控件QtTreePropertyBrowser来搭建一个实用的主界面布局。 具体详细介绍实现效果可查看:https://blog.csdn.net/m0_37251750/article/details/135378454
基于Qt的异形窗体
C++,QT多个窗体切换,widget,QTimer 3个页面切换跳转,使用wdiget的方式
本demo 介绍了如何设计QT的无边框窗体 同时 解决了 窗体大小改变 以及移动的问题 同时也介绍了如果美化按钮等等
1、Demo演示参见博客:https://blog.csdn.net/ManagerUser/article/details/124892827?spm=1001.2014.3001.5502 2、Demo工程环境VS2019+Qt5.15.2 3、Demo主要作用帮助初学者立马上手
使用Qt实现的不规则窗体,实现了按任意png图形确定窗体形状.以及调用WebService实现天气预报和翻译功能.
QT 简单停靠栏 简单效果 启动画面 托盘 透明滑块 QT4.5.3+VC6.0+WINDOWS2003编译通过
Qt实现窗体在显示屏旁边自动隐藏/显示,类似于QQ实现
Qt5开发及实例,)(CH303)堆栈窗体QStackedWidget类的使用,当选择左侧列表框中不同的选项时,右侧显示所选的不同的窗体。在此使用列表框QListWidget. 本实例是采用编写代码的方式实现的,具体步骤如下: (1)新建...
第5章Qt5主窗体.pdf
QDockWidget *dockWidget = new QDockWidget("Dock Widget", this); ``` 这里,"Dock Widget" 是停靠部件的标题。 2. **设置停靠部件的内容:** ```cpp QWidget *dockWidgetContent = new QWidget(dock...
QT实现的可移动放大缩小的大小嵌套窗体,里面是完整的测试项目,真正实现的是PatchWindow类
Qt不规则窗体的实现,包括各种窗口实现的代码。
QT 用户登录界面 QT 窗体居中 QT 多窗体