QT QDockWidget

QDockWidget是Qt中的一个容器类,用于在主窗口上创建可停靠的子窗口。

设置停靠窗口的一般流程如下:

(1)创建一个QDockWidget 对象的停靠窗体。

(2)设置此停靠窗体的属性,通常调用setFeatures()setAllowedAreas()两种方法。

(3)新建一个要插入停靠窗体的控件,常用的有QListWidgetQTextEdit。

(4)将控件插入停靠窗体,调用QDockWidget的setWidget()方法。

(5)使用addDockWidget()方法在MainWindow中加入此停靠窗体。

通过实例演示QDockWidget 类的使用:

在源文件“dockwindows.cpp”具体代码如下:

QT QDockWidget_第1张图片

QT QDockWidget_第2张图片

运行效果:

窗口1只可在主窗口的左边和右边停靠;

窗口2只可在浮动和右部停靠两种状态间切换,并且不可移动;

窗口3可实现停靠窗口的各种状态。

QT QDockWidget_第3张图片

setFeatures()方法设置停靠窗体的特性,原型如下:

void  setFeatures ( DockWidgetFeatures  features)

参数QDockWidget::DockWidgetFeatures指定停靠窗体的特性,包括以下几种参数:

(1)QDockWidget::DockWidgetClosable:  停靠窗体可关闭。

(2)QDockWidget::DockWidgetMovable: 停靠窗体可移动。

(3)QDockWidget::DockWidgetFloatable: 停靠窗体可浮动

(4)QDockWidget::AllDockWidgetFeatures: 此参数表示拥有停靠窗体的所有特性

(5)QDockWidget::NoDockWidgetFeatures: 不可移动、不可关闭、不可浮动。

此参数可采用或(|)的方式对停靠窗体进行特性的设定。

setAllowedAreas()方法设置停靠窗体可停靠的区域,原型如下:

void setAllowedAreas (Qt::DockWidgetAreas  areas)

参数Qt::DockWidgetAreas 指定了停靠窗体可停靠的区域,包括以下几种参数:

Qt::LeftDockWidgetArea:   可在主窗口的左侧停靠。

Qt::RightDockWidgetArea:  可在主窗口的右侧停靠

Qt::TopDockWidgetArea:   可在主窗口的顶端停靠

Qt::BottomDockWidgetArea:    可在主窗口的底部停靠。

Qt::AllDockWidgetArea:     可在主窗口任意(以上四个)部位停靠。

Qt::NoDockWidgetArea:     只可停靠在插入处。

各区域设定也可采用或(|)的方式进行。

你可能感兴趣的:(qt,开发语言)