zoukankan      html  css  js  c++  java
  • Qt 创建停靠悬浮窗口 QDockWidget

    1.Qt实现窗口停靠和悬浮使用类QDockWidget,它有两个重要方法用来设置停靠特性以及停靠区域,

    1 dw1->setFeatures(QDockWidget::DockWidgetMovable | QDockWidget::DockWidgetClosable);//设置停靠窗口特性,可移动,可关闭
    2 dw1->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);//设置可停靠区域为主窗口左边和右边

    2.将一个空间插入停靠窗体使用setWidget方法

    dw1->setWidget(dte);

    3.它的构造方法之一是:指定标题和父窗口

    QDockWidget *dw1 = new QDockWidget("停靠窗口1",this);//构建停靠窗口,指定父类

    4.在主窗口加入悬浮窗使用addDockWidget,并且可以指定停靠区域

    addDockWidget(Qt::RightDockWidgetArea,dw1);

    5.看创建停靠窗口完整代码

     1 #include "dockwindow.h"
     2 #include<QTextEdit>
     3 #include <QDockWidget>
     4 
     5 DockWindow::DockWindow(QWidget *parent)
     6     : QMainWindow(parent)
     7 {
     8 
     9     setWindowTitle("停靠窗口");
    10 
    11     QTextEdit *te = new QTextEdit("MainWindow",this);
    12     te->setAlignment(Qt::AlignCenter);
    13     setCentralWidget(te);
    14 
    15     //停靠窗口1
    16     QDockWidget *dw1 = new QDockWidget("停靠窗口1",this);//构建停靠窗口,指定父类
    17 
    18     dw1->setFeatures(QDockWidget::DockWidgetMovable | QDockWidget::DockWidgetClosable);//设置停靠窗口特性,可移动,可关闭
    19 
    20     dw1->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);//设置可停靠区域为主窗口左边和右边
    21 
    22     QTextEdit *dte = new QTextEdit("DockWindow First");
    23     dw1->setWidget(dte);
    24     addDockWidget(Qt::RightDockWidgetArea,dw1);
    25 
    26     //停靠窗口2
    27     QDockWidget *dw2 = new QDockWidget("停靠窗口2",this);//构建停靠窗口,指定父类
    28 
    29     dw2->setFeatures(QDockWidget::DockWidgetFloatable | QDockWidget::DockWidgetClosable);//设置停靠窗口特性,可浮动,可关闭
    30 
    31     QTextEdit *dte2 = new QTextEdit("DockWindow Second");
    32     dw2->setWidget(dte2);
    33     addDockWidget(Qt::RightDockWidgetArea,dw2);
    34 
    35     //停靠窗口3
    36     QDockWidget *dw3 = new QDockWidget("停靠窗口3",this);//构建停靠窗口,指定父类
    37 
    38     dw3->setFeatures(QDockWidget::AllDockWidgetFeatures);//设置停靠窗口特性,具有全部停靠窗口的特性
    39 
    40     QTextEdit *dte3 = new QTextEdit("DockWindow Third");
    41     dw3->setWidget(dte3);
    42     addDockWidget(Qt::RightDockWidgetArea,dw3);
    43 
    44 
    45 }
  • 相关阅读:
    Python基础04_str_方法
    Python基础03_pycharm
    Python基础02_基本数据类型_以及while
    Python基础01_介绍_HelloWorld
    Linux基础知识_Shell编程笔记
    python基础之centos6.5 升级 python2.7, 安装pip, MySQLdb
    不得不补:PHP的JSON, SQL
    JS类小功能
    1083.是否存在相等的差(20)
    c++ 的vector sort遇到栈错误
  • 原文地址:https://www.cnblogs.com/ybqjymy/p/13501362.html
Copyright © 2011-2022 走看看