Qt5—嵌入停靠窗口QDockWidget
参考链接: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的更多相关文章
- 停靠窗口QDockWidget
停靠窗口QDockWidget要和QMainWindow一起搭配使用的 样式: import sys from PyQt5.QtCore import Qt from PyQt5.QtWidgets ...
- PyQt主窗体设置停靠窗口(QDockWidget)的叠加顺序
PyQt提供了方便的停靠窗口控件,我们可以很方便的编写一个停靠窗口,代码和效果如下: # -*- coding: utf-8 -*-from PyQt4 import QtGui, QtCore cl ...
- Qt布局管理: 停靠窗口QDockWidget类(纯代码实现)
转载:好儿郎~志在四方 详细描述: QDockWidget类提供了一个窗体部件,其可以停靠在QMainWindow,或其本身作为一个在桌面上的顶级窗口(也就是父窗体). QDockWidget类提供了 ...
- Qt5布局管理(二)——QDockWidget停靠窗口类
转载:LeeHDsniper 停靠窗口类QDockWidget 实例效果 如右图所示,左半部分MainWindow是该窗口的中心窗口,右边的最下面两个停靠窗口可以跳出该窗口: 但是第一个停靠窗口只能停 ...
- Python+PyQt5:停靠组件QDockWidget的实现
QMainWindow主窗体中放置停靠组件QDockWidget的实现流程: 第一步:创建QMainWindow窗体,这是承载QDockWidget的主体 第二步:创建QDockWidget组件实例, ...
- MFC的停靠窗口中插入对话框,在对话框中添加控件并做控件自适应
单文档程序添加了停靠窗口后,可能会在停靠窗口中添加一些控件.在这里我的做法是在对话框上添加控件并布局,然后将这个对话框插入到停靠窗口中. 步骤 1.插入对话框,在对话框中放入控件(我的为树形控件),并 ...
- MFC停靠窗口实现(CDockablePane)
工作中编写MFC界面程序时用到了停靠窗口,为了避免之后用到时再去查询,这里记录下. 步骤 1.定义一个继承自CDockablePane的类 Class CDockableTest : public C ...
- MFC单文档视图中嵌入GLFW窗口
开始学习OpenGL由于有一段时间,但是glfw只有窗口区,虽然通过某种手段(移步这里)可以加入工具栏,但仍然无法作为一个标准的GUI,而直接在MFC或Qt里面使用OpenGL API感觉有诸多制肘, ...
- C# 将MDI窗口嵌入普通窗口
模块化的开发,将模块合并到一起的时候,遇到了Mdi不能添加到其它窗口下的问题. 分两种情况: 将mdi窗口A设成普通窗口B的子控件,需要将A的TopLevel设置成false,但是Mdi窗口的TopL ...
随机推荐
- 【剑指Offer】40、数组中只出现一次的数字
题目描述: 一个整型数组里除了两个数字之外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字.要求时间复杂度为O(n),空间复杂度为O(1). 解题思路: 这道题目相对比较难 ...
- Codeforces Round #547 (Div. 3) E. Superhero Battle
E. Superhero Battle A superhero fights with a monster. The battle consists of rounds, each of which ...
- 移动端 配置rem
<script> function Rem() { var docEl = document.documentElement, oSize = docEl.clientWidth / 7. ...
- [luogu4478 BJWC2018] 上学路线 (容斥原理+拓展lucas)
传送门 Description 小B 所在的城市的道路构成了一个方形网格,它的西南角为(0,0),东北角为(N,M). 小B 家住在西南角,学校在东北角.现在有T 个路口进行施工,小B 不能通过这些路 ...
- webpack 配置 Vue 多页应用 —— 从入门到放弃
webpack 配置 Vue 多页应用 -- 从入门到放弃 一直以来,前端享有无需配置,一个浏览器足矣的优势,直到一大堆构建工具的出现,其中 webpack 就是其中最复杂的一个,因此出现了一个新兴职 ...
- Git 基础教程 之 Bug分支和Stash
在Git中,每个Bug都可以通过一个新的临时分支修复,修复后,合并分支,然后删除. ① 当接到一个Bug任务时,但dev上进行的工作还没有提交时: ② git stash 把现场工作“储藏 ...
- android 权限问题分析
Android系统是运行在Linux内核上的,Android与Linux分别有自己的一套严格的安全及权限机制, 很多像我这样的新手,尤其是习惯了windows低安全限制的用户,很容易在这方面弄混淆,下 ...
- mysql如何删除数据库指定ID段的数据库。比如删除id 1-500的数据。
delete from tablename where id>=1 and id<=500或者DELETE FROM `数据库名称`.`数据表名称` WHERE `house_cs`.`i ...
- UOJ #214 合唱队形 (概率期望计数、DP、Min-Max容斥)
9个月的心头大恨终于切掉了!!!! 非常好的一道题,不知为何uoj上被点了70个差评. 题目链接: http://uoj.ac/problem/214 题目大意: 请自行阅读. 题解: 官方题解讲得相 ...
- eclipse中 使用maven搭建ssh项目 思路复习(含有pom.xml)
首先在web.xml中配置监听器 在服务器启动的时候 进行bean对象的创建(只会创建单例对象 dao service 多例对象action可不会创建 每个多例对象是不同的 创建了有什么意义呢 ...