zoukankan      html  css  js  c++  java
  • 对话框及其类型1

    对话框是与用户进行简短交互的顶层窗口
    QDialog是Qt中所有对话框窗口的基类
    QDialog继承于QWidget是一种容器类型的组件

    QDialog的意义
    -QDialog作为一种专用的交互窗口而存在
    -QDialog不能作为子部件嵌入到其它容器中
    -QDialog是定制了窗口式样的特殊的QWidget

    QDialog和QWidget的区别

    1.QDialog的父组件为QWidget

    #include <QApplication>
    #include <QWidget>
    #include <QDialog>
    
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
        QWidget widget;
        QDialog dialog(&widget);
    
        dialog.show();
        dialog.setWindowTitle("I'm a dialog");
    
        widget.show();
        widget.setWindowTitle("I'm a widget");
    
        return a.exec();
    }

     你不管怎样点击,I'm dialog始终是在最上面,说明对话框是一种顶层的窗口。

    因为在程序中设置了对话框的父组件是QWidget,按理说QDialog应该嵌入到QWidget中,但是运行结果并没有,因为对话框不能作为子部件嵌入到其它容器中。

    Qdialog和QWidget在显示上也有所差别,最大化和最小化按钮

    2.QDialog作为QWidget的父组件

    #include <QApplication>
    #include <QWidget>
    #include <QDialog>
    
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
        QDialog dialog;
        QWidget widget(&dialog);
    
        dialog.show();
        dialog.setWindowTitle("I'm a dialog");
    
        widget.show();
        widget.setWindowTitle("I'm a widget");
    
        return a.exec();
    }

     从运行结果上好像只看到了对话框的显示,实际上QWidget作为一个子部件嵌入到了QDialog中,在这里只是看不见而已。

  • 相关阅读:
    线程
    管道,数据共享,进程池
    进程锁,队列,JoinableQueue
    网络基础之 并发编程之进程,多路复用,multiprocess模块
    网络基础之 tcp/ip五层协议 socket
    python基础之 026 包以及包的引入
    python基础之 025 模块加载与import的使用
    python基础之正则表达式 re模块
    python基础之 序列 pickle&json
    【SoapUI】SoapUI projects 01
  • 原文地址:https://www.cnblogs.com/-glb/p/12320279.html
Copyright © 2011-2022 走看看