Demo的效果


头文件中的变量声明

    //退出动作
    QAction* exit;
    //菜单栏菜单
    QMenu* filemenu;
    QMenu* actiona;
    //在状态栏的标签控件
    QLabel* label;
    //两个停靠窗口
    QDockWidget *dockwidget;
    QDockWidget *dockwidget_textbox;

CPP源文件中的对象定义

    //创建+初始化按钮,将要放到第一个窗口内
    QPushButton *button=new QPushButton(tr("Exit"),this);
    QObject::connect(button,SIGNAL(clicked()),this,SLOT(close()));

    //创建+初始化,放到第二个窗口
    QTextEdit * textbox=new QTextEdit;

    //创建两个停靠窗口对象,停靠在this窗口
    dockwidget=new QDockWidget(this);
    dockwidget_textbox=new QDockWidget(this);

设置停靠窗口的停靠边允许,内部空间和窗口标题

    //允许停靠到四个边的dockwidget停靠窗口
    dockwidget->setWindowTitle(tr("dockwidget_button"));
    dockwidget->setAllowedAreas(Qt::AllDockWidgetAreas);
    dockwidget->setWidget(button);
    //允许停靠到左和下边的停靠窗口
    dockwidget_textbox->setWindowTitle(tr("dockwidget_textbox"));
    dockwidget_textbox->setAllowedAreas(Qt::LeftDockWidgetArea|Qt::BottomDockWidgetArea);
    dockwidget_textbox->setWidget(textbox);

初始化时窗口的配置和动作对其实现显示与隐藏

    //初始化把停靠窗口显示到左边和底边上
    this->addDockWidget(Qt::LeftDockWidgetArea,dockwidget);
    this->addDockWidget(Qt::BottomDockWidgetArea,dockwidget_textbox);
    //设置菜单栏动作使其控制停靠窗口的显示与隐藏
    this->actiona->addAction(dockwidget_textbox->toggleViewAction());
    this->actiona->addAction(dockwidget->toggleViewAction());

demo的源码:http://pan.baidu.com/s/1jGAm1T0

QT子窗口及停靠实现的更多相关文章

  1. Qt 子窗口监听主窗口信号

    Qt 子窗口监听主窗口信号(转载)  原文链接:https://www.cnblogs.com/ybqjymy/p/12169762.html 1 MainWindow *ptr = NULL; 2 ...

  2. QT 子窗口退出全屏

    m_pWidget代表子窗口, 子窗口显示全屏: m_pWidget->setWindowFlags(Qt::Dialog); m_pWidget->showFullScreen(); 子 ...

  3. qt 子窗口内嵌到父窗口

    类声明 动态申请子窗口类对象 ClassA *a = new ClassA(this); 隐藏边框 a->setWindowFlags(Qt::CustomizeWindowHint|Qt::F ...

  4. Qt子窗口QMidSubwindow全屏出现的问题总结

    我的需求:想全屏一个子窗口QMidSubwindow,禁止显示最大化最小化和关闭按钮. 我开始尝试的是网上介绍的方法,把结果展现给大家一下,最后再总结: 方法1:QMidSubwindow直接调用sh ...

  5. Qt子窗口设置背景色只能应用到其中的部件的问题

    问题描述:设置父窗口后子窗口会嵌在父窗口中,背景变透明,此时用qss设置子窗口的背景色发现只应用到的子窗口的控件中,除控件外的地方并没有应用到背景色. 解决方法:不使用qss设置背景色,重写paint ...

  6. Qt 子窗口内嵌到父窗口中(无边框附体show即可)good

    有时需要把一个子窗口内嵌进入父窗口当中. 我们可以这样做 1.新建一个QWidget 或者QDialog的子类 ClassA(父类为ClassB) 2.在新建类的构造函数中添加设置窗口属性 setWi ...

  7. Qt 子窗口内嵌到父窗口中

    有时需要把一个子窗口内嵌进入父窗口当中. 我们可以这样做 1.新建一个QWidget 或者QDialog的子类 ClassA(父类为ClassB) 2.在新建类的构造函数中添加设置窗口属性 setWi ...

  8. QT 子窗口监听主窗口信号(超级简单,但是好用,比如主窗口移动的时候,子窗口不要再继续处理任务)

    MainWindow *ptr = NULL; ptr = (MainWindow*)parentWidget(); connect(ptr, SIGNAL(param_result(bool)), ...

  9. Qt全屏显示窗口、子窗口的相关函数

    Qt全屏显示函数         window.showFullScreen() Qt最大化显示函数         window.showMaximized() Qt最小化显示函数         ...

随机推荐

  1. 自定义下拉刷新控件-CBStoreHouseRefreshControl

    本文转载至 http://www.cocoachina.com/ios/20141110/10177.html iOS开发自定义刷新CBStoreHouseRefres 介绍 这是一款在Storeho ...

  2. iOS 打包Framework包含其他Framework的问题

    当你打包一个framework静态库包含另一个第三方静态库时,在工程中使用自己打包的framework,这时编译会出现报错,报错的大概原因是没有找到你打包framework里面的第三方framewor ...

  3. 2017-2018-1 20179209《Linux内核原理与分析》第六周作业

    一.分析system_call中断处理过程 实验 下载最新menu,并在test.c中增加mkdir与mkdir-asm函数原型 rm menu -rf git clone https://githu ...

  4. JavaScript如何判断非空

    JavaScript判断非空的语句一般为: var elvis; if (typeof elvis !== "undefined" && elvis !== nul ...

  5. Nodejs学习笔记 --- 调用命令方法ld_process.exec()和child_process.execFile()

    本文主要记录项目中使用NodeJS实现在线构建项目时,通过代码自动调用命令行. 参考资料&内容来源: Nodejs官网:http://nodejs.cn/api/child_process.h ...

  6. 【题解】数字组合(NTT+组合 滑稽)

    [题解]数字组合(NTT+组合 滑稽) 今天实践一下谢总讲的宰牛刀233,滑稽. \((1+x)(1+x)(1+x)\)的\(x^2\)系数就代表了有三个一快钱硬币构成的两块钱的方案数量. 很好理解, ...

  7. 【题解】P3796【模板】AC自动机(加强版)

    [题解]P3796 [模板]AC自动机(加强版) 记录当前\(cnt\)是第几个"星".记录第几个串是对应着第几个星. 这里补充一点对于\(AC\)自动机的理解.可能一直有个问题我 ...

  8. 深入理解Java虚拟机到底是什么(转)

    原文链接:http://blog.csdn.net/zhangjg_blog/article/details/20380971 什么是Java虚拟机   作为一个Java程序员,我们每天都在写Java ...

  9. WIFI模块ESP8266的使用指南【转】

    本文转载自:http://www.itdadao.com/articles/c15a814052p0.html 本文主要对讲述ESP8266模块硬件连接工作,以及作为服务器和客户端情况下的配置实现的详 ...

  10. bzoj5213: [Zjoi2018]迷宫

    好题!话说省选的都开始构造了吗 由于有K的倍数的限制所以不妨取模,先建K个点表示0~K-1这些数,第i个点向[i*m,i*m+m]建边.不难发现这是合法的但不一定是最优的 考虑合并等价的点,首先从直观 ...