您的位置:首页 > 新闻 > 会展 > 网页设计与制作教程专题分析_网址的输入格式是什么样的_长沙百度公司_百度提问

网页设计与制作教程专题分析_网址的输入格式是什么样的_长沙百度公司_百度提问

2024/12/27 8:51:44 来源:https://blog.csdn.net/weixin_51883798/article/details/142966267  浏览:    关键词:网页设计与制作教程专题分析_网址的输入格式是什么样的_长沙百度公司_百度提问
网页设计与制作教程专题分析_网址的输入格式是什么样的_长沙百度公司_百度提问

本文学习自:

《Qt Creato快速入门》

#include "widget.h"
#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);Widget w;w.show();return a.exec();
}

1.

#include "widget.h"
#include "ui_widget.h"
#include <QDialog>
Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget)
{ui->setupUi(this);QDialog dialog(this);dialog.resize(550,550);dialog.setStyleSheet("background-color:green;");dialog.show();
}Widget::~Widget()
{delete ui;
}

这样写dialog会一闪而逝的。

因为dialog的生命周期很短,构造函数完成后,它就析构了。

2.

#include "widget.h"
#include "ui_widget.h"
#include <QDialog>
Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget)
{ui->setupUi(this);QDialog *dialog = new QDialog(this);dialog->resize(550,550);dialog->setStyleSheet("background-color:green;");dialog->show();
}

写成这样的话,会显示dialog,但不是模态的。

什么是模态对话框:

在关闭它之前,不能再与同一个应用程序的其他窗口进行交互。

3.

#include "widget.h"
#include "ui_widget.h"
#include <QDialog>
Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget)
{ui->setupUi(this);QDialog dialog(this);dialog.resize(550,550);dialog.setStyleSheet("background-color:green;");dialog.exec();
}Widget::~Widget()
{delete ui;
}

写成这样的话,dialog是模态的。

而且,因为使用了exec()方法,当dialog关闭后,程序才继续向下执行。

exec():当对话框关闭时,函数返回值,程序向下进行。

show():调用完函数后,立即将控制权交给调用者,程序继续向下进行。

4.使用show()也可以建立模态对话框,需要在前面使用setModel()函数。

#include "widget.h"
#include "ui_widget.h"
#include <QDialog>
Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget)
{ui->setupUi(this);QDialog dialog(this);dialog.resize(550,550);dialog.setStyleSheet("background-color:green;");dialog.setModal(true);dialog.show();
}Widget::~Widget()
{delete ui;
}

这样写的话,dialog是模态窗口,但还是一闪而逝。

#include "widget.h"
#include "ui_widget.h"
#include <QDialog>
Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget)
{ui->setupUi(this);QDialog *dialog = new QDialog(this);dialog->resize(550,550);dialog->setModal(true);dialog->setStyleSheet("background-color:green;");dialog->show();
}Widget::~Widget()
{delete ui;
}

这样写的话,dialog是模态窗口,先显示dialog,关闭后,才显示widget。

5.

setWindowModel:

参数:设置模态对话框要阻塞的窗口类型

Qt::NonModel:不阻塞任何窗口

Qt::WindowModel:阻塞它的父窗口和所有祖先窗口和它们的子窗口

Qt::ApplicationModel(阻塞整个应用程序的所有窗口)

默认是Qt::ApplicationModel

---

学海无涯,加油! 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com