首页 > 其他 > 详细

对话框及其类型1

时间:2020-02-17 10:56:20      阅读:73      评论:0      收藏:0      [点我收藏+]

对话框是与用户进行简短交互的顶层窗口
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中,在这里只是看不见而已。

 

对话框及其类型1

原文:https://www.cnblogs.com/-glb/p/12320279.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!