转:http://blog.csdn.net/a649518776/article/details/6636490
下面用代码实现上面窗口的设计:
1.建立项目时基类选择QMainWindow,取消Gernerate form复选框的选中状态。
2.在源文件mainwindow.cpp中编写如下代码:
- #include "mainwindow.h"
- #include <QTextEdit>
- #include <QDockWidget>
- MainWindow::MainWindow(QWidget *parent)
- : QMainWindow(parent)
- {
-
- setWindowTitle(tr("DockWindwos"));
- QTextEdit *te=new QTextEdit(this);
- te->setText(tr("Main Window"));
- te->setAlignment(Qt::AlignCenter);
- setCentralWidget(te);
-
- 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);
-
- 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);
-
- 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);
- }
-
- MainWindow::~MainWindow()
- {
-
- }
解析:
1.创建一个QDockWidget对象的停靠窗体:
QDockWidget *dock=new QDockWidget(tr("DockWindow1"),this);
第一个参数是停靠窗体的名称,第二个参数是停靠窗体的父窗体。
2.设置此停靠窗体的属性:
dock->setFeatures(QDockWidget::DockWidgetMovable);
设置停靠窗体特性:
×可关闭:有一个关闭按钮
×可移动:
将DockWindow移动到左边了。
×可浮动:
DockWindow3可以单独脱离主窗口浮动出来。
×其他参数:
QDockWidget::AllDockWidgetFeatures //拥有所有属性QDockWidget::NoDockWidgetFeatures //不可移动,不可关闭,不可浮动
3.将TextEdit加入停靠窗体
dock->setWidget(te1);
4.将停靠窗体加入主窗体中
addDockWidget(Qt::RightDockWidgetArea,dock);
最后编译运行:
分享到:
相关推荐
QDockWidget允许你在主窗口中创建可停靠的浮动或固定小窗口,通常用于展示辅助信息或工具栏。要创建一个QDockWidget,你需要定义一个QWidget作为内容区域,然后将其封装到QDockWidget中。 ```cpp QWidget *...
开发者使用`setWidget()`方法将`QToolBar`实例放入`QDockWidget`中,这样工具栏就可以像其他窗口部件一样进行浮动和停靠操作。 实现`QToolBar`在`QDockWidget`中的浮动和停靠,你需要以下步骤: 1. 创建`QToolBar`...
首先,QMainWindow是Qt中用于创建复杂用户界面的主要类,它提供了菜单栏、工具栏和状态栏的集成,并允许添加自定义的 dock widgets。QDockWidget则是一个可以停靠在QMainWindow边缘或浮动为独立窗口的小部件。在这个...
3. **工具栏和菜单栏**:使用QToolBar和QMenuBar可以创建应用程序的顶部菜单和工具栏,它们可以与DockWidgets协同工作,提供操作快捷方式。 4. **事件处理**:我们需要捕获和处理鼠标和键盘事件,以实现DockWidget...
QDockWidget *dock = new QDockWidget("停靠窗口", this); ``` 2. **设置停靠策略**:通过调用QDockWidget的setFeatures()函数,可以设置停靠窗口的特性,包括是否允许用户关闭、浮动或停靠。例如,允许所有操作...
QDockWidget类是Qt GUI编程中的关键部分,它允许用户将特定的子窗口或小部件(如工具栏、侧边栏或者文档区域)在主窗口的四周自由停靠,也可以将其拖放到屏幕的任意位置作为一个独立的浮动窗口。QDockWidget提供了...
QDockWidget是Qt提供的一种功能强大的组件,它允许我们创建浮动或停靠的工具面板,这对于那些需要灵活布局和多面板工作的应用程序尤其有用。而QTreeWidget则是一个用于展示层次化数据的控件,常用于文件系统浏览、...
总的来说,`QDockWidget`是构建具有专业级用户界面的Qt应用的重要工具,通过理解和熟练使用`QDockWidget`,开发者可以创建出更加直观、用户友好的多窗口应用。提供的压缩包“QDockWidget.7z”可能包含实践案例和...
在QT中,停靠栏允许用户自定义工作区,将各种小部件(如工具栏、面板等)停靠在窗口的边缘或者浮动独立出来。停靠栏可以停靠在窗口的顶部、底部、左侧或右侧,并且可以通过拖放操作进行重新排列。在QT4.5.3版本中,...
本话题将深入探讨如何利用工具栏(Toolbar)创建这种可停靠的Dialogue,并分享相关知识点。 首先,对话框(Dialogue)是应用程序中用于与用户进行交互的一种窗口,通常用来显示额外的信息或接收用户的输入。在传统...
Dock部件常被称为停靠窗口可以停靠在中心部件的四周,像工具箱一样。 一个窗口可以拥有多个Dock部件。 (5).状态栏(QStatusBar) 状态栏用于显示程序的一些状态信息,在主窗口的最底部。 一个窗口只能拥有一个状态栏...
在实现"Dock的停靠拖动隐藏"功能时,我们需要使用Qt提供的QMainWindow类,它是大多数Qt GUI应用的基础,因为它包含了菜单栏、工具栏和Dock Widgets等功能。QMainWindow有一个内置的布局系统,允许我们轻松地添加和...
在Qt库中,`QDockWidget`是一个基本的停靠部件类,它允许用户将窗口部件(如工具栏、侧边栏或文档窗口)停靠到主窗口的边缘,或者浮动为独立的小窗口。然而,对于更复杂和自定义的停靠需求,`QDockWidget`可能显得...
1. **创建QMainWindow**:IDE的基础通常是QMainWindow,因为它提供了菜单栏、工具栏和状态栏的基础框架,同时支持添加QDockWidget。 2. **创建QDockWidgets**:为各个功能区域(如代码编辑器、项目浏览器、输出窗口...
1. **MainWindow.cpp/h**:这是主窗口的实现和声明,通常包含了应用的主要逻辑,如初始化界面、设置菜单和工具栏,以及处理用户交互事件。MainWindow会包含对kddockwidgets的使用,例如创建和管理各种停靠窗口。 2....
`addToolBar()`方法可以用来动态添加工具栏,`setCentralWidget()`用于设置中心区域的组件,而`QDockWidget`则可以用来创建可停靠的侧边栏。 下面我们将更深入地探讨Qt界面开发中的关键知识点: 1. **信号与槽机制...
QMenuBar和QToolBar,用于构建菜单栏和工具栏;还有QStatusBar,用于显示窗口底部的状态信息。这些控件同样包含有各自的属性和方法,可用于获取和设置它们的信息。 通过这个"获取qt窗口信息的demo",开发者可以深入...
5. **Dock Widgets**:QDockWidget允许你在窗口内创建可停靠的区域,可以用来承载其他控件或小部件。用户可以自由地将这些Dock Widgets拖放到窗口的不同位置,或者选择隐藏它们。 6. **中央部件**:QMainWindow有一...
停靠系统允许用户自定义窗口布局,将小部件(如工具栏、面板或文档窗口)停靠在主窗口的边缘,或者作为浮动窗口独立显示。这种灵活性极大地提高了用户的工作效率,尤其在多任务处理和数据可视化场景下。 三、Qt ...
这个类提供了丰富的功能,包括菜单栏、工具栏、状态栏、窗口分割、窗口浮动和停靠,以及自定义布局和窗口风格等。本文将深入探讨这些知识点,并提供入门指导。 **1. 菜单栏(Menu Bar)** 菜单栏通常位于窗口顶部,...