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. 百思不得姐之"我的"模块功能(六)

    一 功能图和知识点 1 功能图部分:(因为网速的原因,网页部分没有载入出来,可是功能完善) 2 该部分能学到的知识点概括: >1 UITableView的使用(简单) >2 UIColle ...

  2. 【转】iOS安全之RSA加密/生成公钥、秘钥 pem文件

    在iOS中使用RSA加密解密,需要用到.der和.p12后缀格式的文件,其中.der格式的文件存放的是公钥(Public key)用于加密,.p12格式的文件存放的是私钥(Private key)用于 ...

  3. C语言--循环结构

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvenVveW91MTMxNA==/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...

  4. [转]C#中的结构体与类的区别

    C#中的结构体与类的区别   经常听到有朋友在讨论C#中的结构与类有什么区别.正好这几日闲来无事,自己总结一下,希望大家指点. 1. 首先是语法定义上的区别啦,这个就不用多说了.定义类使用关键字cla ...

  5. go html ecmascript

    <script> var go={{.}}</script> {{define "PotentialCustomer"}} <!DOCTYPE htm ...

  6. Android实现下拉导航选择菜单效果

    本文介绍在Android中如何实现下拉导航选择菜单效果.   关于下拉导航选择菜单效果在新闻客户端中用的比较多,当然也可以用在其他的项目中,这样可以很方便的选择更多的菜单.我们可以让我们的应用顶部有左 ...

  7. global 全局变量的用法

    说明:i 和foo()都为全局变量,i 是在模块文件顶层注册的,所以为全局变量,他能够在函数内部进行引用而不需要再特意声明是全局变量,且foo()函数也是全局变量 1.当没有局部变量时,print(i ...

  8. 【转载】基于注解的SpringMVC简单介绍

    SpringMVC是一个基于DispatcherServlet的MVC框架,每一个请求最先访问的都是DispatcherServlet,DispatcherServlet负责转发每一个Request请 ...

  9. P3746 [六省联考2017]组合数问题

    P3746 [六省联考2017]组合数问题 \(dp_{i,j}\)表示前\(i\)个物品,取的物品模\(k\)等于\(r\),则\(dp_{i,j}=dp_{i-1,(j-1+k)\%k}+dp_{ ...

  10. vector缩减容量

    在C++标准库容器vector的容量是不会自动的缩减的,也就是说删除元素操作,其引用.指针.迭代器也会继续有效.那么当在一个较大的vector中删除了大量的元素之后,其实际的size比较小,而其cap ...