代码
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 |
相关推荐
本实例详细说明了在Qt中如何使用QDockWidget类,即在QMainWindow的框架下向各个停靠区添加QDockWidget窗体。当然可以自己设计ui,创建需要添加的窗体。对Qt初学者有极大的参考价值。
在C++和Qt框架下,开发多窗体应用是一项常见的任务。Qt库提供了一套强大的工具,使得在GUI(图形用户界面)中实现窗口间的切换变得简单高效。本主题主要聚焦于如何使用Qt的`QWidget`类以及相关布局和控件来创建和...
代码大部分是网上东拼西凑出来的, 可以实现无边框的自定义窗体,可以拖动,可以拉伸,可以靠近屏幕边缘自动停靠分屏,最小化有渐变动画效果,介绍blog地址:...
- **QDockWidget**:停靠窗口。 - **QFocusFrame**:焦点框架,用于突出显示具有焦点的控件。 - **QGLWidget**:OpenGL绘图窗口。 - **QtOpenGL**:OpenGL模块。 - **QGroupBox**:组框控件。 - **QLineEdit**:单行...
`QDockWidget` 提供了一个可移动和可停靠的窗口,通常用于显示工具栏或状态栏。 #### 九、Phonon Phonon 是Qt中的多媒体框架,用于播放音频和视频。 ##### 1. Phonon::VideoPlayer `Phonon::VideoPlayer` 提供了...
目录树组件QTreeWidget和停靠区域组件QDockWidget的和QScrollArea用法;然后写的一个小的相册查看器例子 QTreeWidget组件: QTreeWidget是 目录树组件 控件,用来创建和管理树形结构的类的 QDockWidget组件: ...
这里我们聚焦于使用Qt库创建的界面,因为“Qt界面”是提供的标签之一。Qt是一个跨平台的应用程序开发框架,广泛用于创建桌面、移动以及嵌入式系统的用户界面。 窗口主框架通常指的是一个窗口类,比如`QMainWindow`...
**目的**: 展示如何使用QDockWidget来创建停靠窗口。 ##### 实例16: 堆栈窗口 **目的**: 展示如何使用QStackedWidget来切换不同的窗口。 ##### 实例17: 综合布局实例 **目的**: 结合多种布局管理器创建复杂的用户...
这一行导入了PyQt4中的`QtGui`和`QtCore`模块,这两个模块包含了Qt框架中用于图形界面设计和核心功能的所有类。 2. **创建应用程序实例:** ```python app = QApplication(sys.argv) ``` 创建了一个`...