参考链接:http://blog.csdn.net/summer_xiyer/article/details/12875899

新建一个GUI工程:

QDockWidget是QWidget的子类,也等于是说他可以像其他的Widgets一样互相嵌套,搭配布局。

1.一个简单的例子,选择QMainWindow作为基类

填写头文件:

public slots:
void on_PleaseGo_clicked();
public:
void pleaseGo();
private:
Ui::wishchin *ui;
QDockWidget* dockInsertFRight;
QDockWidget* dockInsertFLeft;
QDockWidget* dockInsertButton;

填写CPP中的构造函数:

    ui->setupUi(this);

    //捕获主界面按钮窗口
this->dockInsertButton = new QDockWidget(tr("Capture the button!"), this);
//QDockWidget* dockInsertFRight = new QDockWidget(tr("First Dock Window"), this);
//QTextEdit *dockText = new QTextEdit();
//dockText->setText("Capture the button!");
dockInsertButton->setWidget(this->ui->PleaseGo);
this->addDockWidget(Qt::RightDockWidgetArea, dockInsertButton); //捕获主界面显示窗口
QDockWidget *dockInsert = new QDockWidget(tr("Insert Dock Window"), this);
//QTextEdit *dockText3 = new QTextEdit();
//dockText3->setText("Third Window,Try to move The title.");
dockInsert->setWidget(this->ui->label_Show);
addDockWidget(Qt::RightDockWidgetArea,dockInsert); //配置第一个停靠窗口
this->dockInsertFRight = new QDockWidget(tr("First Dock Window"), this);
//QDockWidget* dockInsertFRight = new QDockWidget(tr("First Dock Window"), this);
QTextEdit *dockText = new QTextEdit();
dockText->setText("First Window,Try to move The title.");
dockInsertFRight->setWidget(dockText);
this->addDockWidget(Qt::RightDockWidgetArea, dockInsertFRight); //配置第二个停靠窗口
this->dockInsertFLeft = new QDockWidget(tr("Second Dock Window"), this);
//QTextEdit *dockText = new QTextEdit();
//dockText->setText("First Window,Try to move The title.");
QLabel* dockLabelShow =new QLabel();
dockLabelShow->setMaximumHeight(320);
dockLabelShow->setMaximumHeight(240);
dockInsertFLeft->setWidget(dockLabelShow);
this->addDockWidget(Qt::LeftDockWidgetArea, dockInsertFLeft); //配置第三个停靠窗口
QDockWidget *dockOverlay = new QDockWidget(tr("Third Dock Window"), this);
QTextEdit *dockText3 = new QTextEdit();
dockText3->setText("Third Window,Try to move The title.");
dockOverlay->setWidget(dockText3);
addDockWidget(Qt::RightDockWidgetArea, dockOverlay);

运行显示结果:

这样就实现了悬浮窗和嵌入窗,并能捕获主界面的显示Dock和按钮widget!

Qt5—嵌入停靠窗口QDockWidget的更多相关文章

  1. 停靠窗口QDockWidget

    停靠窗口QDockWidget要和QMainWindow一起搭配使用的 样式: import sys from PyQt5.QtCore import Qt from PyQt5.QtWidgets ...

  2. PyQt主窗体设置停靠窗口(QDockWidget)的叠加顺序

    PyQt提供了方便的停靠窗口控件,我们可以很方便的编写一个停靠窗口,代码和效果如下: # -*- coding: utf-8 -*-from PyQt4 import QtGui, QtCore cl ...

  3. Qt布局管理: 停靠窗口QDockWidget类(纯代码实现)

    转载:好儿郎~志在四方 详细描述: QDockWidget类提供了一个窗体部件,其可以停靠在QMainWindow,或其本身作为一个在桌面上的顶级窗口(也就是父窗体). QDockWidget类提供了 ...

  4. Qt5布局管理(二)——QDockWidget停靠窗口类

    转载:LeeHDsniper 停靠窗口类QDockWidget 实例效果 如右图所示,左半部分MainWindow是该窗口的中心窗口,右边的最下面两个停靠窗口可以跳出该窗口: 但是第一个停靠窗口只能停 ...

  5. Python+PyQt5:停靠组件QDockWidget的实现

    QMainWindow主窗体中放置停靠组件QDockWidget的实现流程: 第一步:创建QMainWindow窗体,这是承载QDockWidget的主体 第二步:创建QDockWidget组件实例, ...

  6. MFC的停靠窗口中插入对话框,在对话框中添加控件并做控件自适应

    单文档程序添加了停靠窗口后,可能会在停靠窗口中添加一些控件.在这里我的做法是在对话框上添加控件并布局,然后将这个对话框插入到停靠窗口中. 步骤 1.插入对话框,在对话框中放入控件(我的为树形控件),并 ...

  7. MFC停靠窗口实现(CDockablePane)

    工作中编写MFC界面程序时用到了停靠窗口,为了避免之后用到时再去查询,这里记录下. 步骤 1.定义一个继承自CDockablePane的类 Class CDockableTest : public C ...

  8. MFC单文档视图中嵌入GLFW窗口

    开始学习OpenGL由于有一段时间,但是glfw只有窗口区,虽然通过某种手段(移步这里)可以加入工具栏,但仍然无法作为一个标准的GUI,而直接在MFC或Qt里面使用OpenGL API感觉有诸多制肘, ...

  9. C# 将MDI窗口嵌入普通窗口

    模块化的开发,将模块合并到一起的时候,遇到了Mdi不能添加到其它窗口下的问题. 分两种情况: 将mdi窗口A设成普通窗口B的子控件,需要将A的TopLevel设置成false,但是Mdi窗口的TopL ...

随机推荐

  1. 切换原生appium里面H5页面

    #coding = utf-8from appium import webdriverimport time'''1.手机类型2.版本3.手机的唯一标识 deviceName4.app 包名appPa ...

  2. HTTP 状态码之:301、302 重定向

    转自:http://www.cnblogs.com/5207/p/5908354.html 概念 301 Moved Permanently 被请求的资源已永久移动到新位置,并且将来任何对此资源的引用 ...

  3. Vue push() pop() shift() unshift() splice() sort() reverse() ...

    Vue 变异方法 push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度. pop() 方法用于删除并返回数组的最后一个元素. shift() 方法用于把数组的第一个元素从其中删除,并返回 ...

  4. Bootstrap 表单控件状态(禁用状态)

    Bootstrap框架的表单控件的禁用状态和普通的表单禁用状态实现方法是一样的,在相应的表单控件上添加属性“disabled”.和其他表单的禁用状态不同的是,Bootstrap框架做了一些样式风格的处 ...

  5. 理解__builtin_clz特性

    a.c: /************************************************************************* * File: a.c * Brief: ...

  6. Spring Cloud-Ribbon负载均衡策略类IRule(五)

    IRule IRule AbstractloadBalancerRule 负载均衡策略抽象类 负责获得负载均衡器 保存在内部 通过负载均衡器维护的信息 作为分配的依据 public abstract ...

  7. 0619数据库_MySQL_由浅入深理解索引的实现

    转自http://blog.csdn.net/u010003835/article/details/51563348 这篇文章是介绍MySQL数据库中的索引是如何根据需求一步步演变最终成为B+树结构的 ...

  8. POJ 1984

    我做过的最棘手的一道题了,不是因为难,难就是不懂,而是因为明明思路对了,却调了很久程序没发现自己哪错了.....就连样例都不过 操,别人的代码::::::::::::::::::::::::::::. ...

  9. 总结一下这几节Java课的...重点!!!

    1.定义一个Person类,包含两个私有的属性(name.age).一个含参的方法setValue(int age,String name).一个不含参方法setValue()和一个普通方法tell( ...

  10. ScrollViewer滚动究竟来触发载入数据的Behavior

    近期项目中遇到载入数据的性能问题, 原因是.net4.0的虚拟化支持不够完毕,有好多bug在4.5才修复. 我们仅仅能利用大家通用的做法来延迟载入数据: 每次载入固定少量的数据.当拖动究竟后.继续载入 ...