Qt创建一个组合的浮动窗口

发布时间:2019-05-23 16:14 阅读

1
Qt使用QDockWidget类来实现窗口绑定和移动。设置属性和连接区域有两种重要方法。
dw1-setFeatures(QDockWidget:DockWidgetMovable | QDockWidget:DockWidgetClosable);
dw1-setAllowedAreas(Qt:LeftDockWidgetArea | Qt:RightDockWidgetArea); //将泊坞窗区域设置在主窗口的左侧和右侧
2
使用setWidget方法在停靠窗体中插入空格
Dw1-setWidget(dte);
3
它的一个构造函数是指定标题和主窗口。
QDockWidget * dw1 = newQDockWidget(“Docked Window 1”,this); //创建一个停靠窗口并指定主类
4
您可以使用addDockWidget通过向主窗口添加浮动窗口来指定停靠区域
addDockWidget(Qt:RightDockWidgetArea,dw1);

请参阅创建停靠窗口的完整代码。
#include“dockwindow。
时间
#includeQTextEdit
#include QDockWidget
DockWindow:DockWindow(QWidget * parent)
:Q主窗口(父亲)
setWindowTitle(“停靠窗口”);
QTextEdit * te = newQTextEdit(“MainWindow”,this);
te-setAlignment(Qt:AlignCenter);
setCentralWidget(te);
///组合窗口1
QDockWidget * dw1 = newQDockWidget(“Docked Window 1”,this); //创建一个停靠窗口并指定主类
dw1-setFeatures(QDockWidget:DockWidgetMovable | QDockWidget:DockWidgetClosable);
dw1-setAllowedAreas(Qt:LeftDockWidgetArea | Qt:RightDockWidgetArea); //将泊坞窗区域设置在主窗口的左侧和右侧
QTextEdit * dte = newQTextEdit(“DockWindowFirst”);
Dw1-setWidget(dte);
addDockWidget(Qt:RightDockWidgetArea,dw1);
///组合窗口2
QDockWidget * dw2 = newQDockWidget(“Docked Window 2”,this); //创建一个停靠窗口并指定父类
dw2-setFeatures(QDockWidget:DockWidgetFloatable | QDockWidget:DockWidgetClosable); //设置停靠窗口功能。
QTextEdit * dte2 = newQTextEdit(“DockWindowSecond”);
Dw2-setWidget(dte2);
addDockWidget(Qt:RightDockWidgetArea,dw2);
///组合窗口3
QDockWidget * dw3 = newQDockWidget(“Docked Window 3”,this); //用父类构造一个组合窗口
dw3-setFeatures(QDockWidget:AllDockWidgetFeatures); //组合所有窗口功能并设置停靠窗口功能
QTextEdit * dte3 = newQTextEdit(“DockWindowThird”);
Dw3-setWidget(dte3);
addDockWidget(Qt:RightDockWidgetArea,dw3);
6
请参阅运行结果。