Qt之对话框(QDialog)

这篇具有很好参考价值的文章主要介绍了Qt之对话框(QDialog)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


提示:以下是本篇文章正文内容,下面案例可供参考

一、对话框的概念

对话框是和用户简短交互的一种窗口。如:登录界面,关于界面,选择文件界面…
他不能放在在其他的Qt组件里面。

二、与QWidget的区别

我们可以在main.cpp中写下面的代码:

实验1:

#include <QApplication>
#include <QDialog>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    QWidget w;
    QDialog d(&w);

    w.setWindowTitle("QWidget");//设置该窗口标题
    d.setWindowTitle("QDialog");

    w.show();
    d.show();

    return a.exec();
}

我们可以看到,QDialog指定了父类,可还是出现了2个窗口,可以按正常逻辑,应该是出现一个窗口QWidget啊,可现在却出现了QDialog。

实验2:

#include <QApplication>
#include <QDialog>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    QDialog d;
    QWidget w(&d);

    w.setWindowTitle("QWidget");
    d.setWindowTitle("QDialog");

    w.show();
    d.show();

    return a.exec();
}

这次我们让QWidget放到QDialog里面,就会发现,只有QDialog。那么QWidget就被放在QDialog里面了,因为他和我们QDialog的颜色一样,所以看不到

三、对话框2种显示方法

1、使用exec()函数显示:模态对话框
特点:显示后无法与父窗口交互。是一种阻塞试的调用。
阻塞试是什么意思:必须要点关闭按钮/使用里面的一个函数,等下我们会讲。
使用场景:必须要用户选择

2、使用show()函数显示:非模态对话框
特点:显示后独立存在可以在同时与父组件交互。是一种非阻塞式的对话框方式
使用场景:和模态对话框相对的

小技巧:
模态对话框一般在栈上创建。
非模态对话框一般在堆上创建。
非模态对话框需要指定Qt::WA_DeleteOnClose。原因:因为无法得知他的关闭时间,他又是在堆上创建的,所以当我们指定了这个东西的时候,关闭时,他自动delete该窗口。

四、对话框返回值的概念

只有模态对话框才有返回值。
使用dene(int i)返回

一般使用下面两个作为参数:
QDialog::Accepted用户操作成功
QDialog::Rejectd用户操作失败

本节示例

使用Qt设计师类创建一个QDialog。
UI界面如下:
Qt之对话框(QDialog)

点击登录打印用户名和密码,点击取消退出.

提示:取消可使用槽函数close()

dialog.cpp

#include "dialog.h"
#include "ui_dialog.h"
#include <QDebug>

Dialog::Dialog(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::Dialog)
{
    ui->setupUi(this);

    connect(ui->pushButton,SIGNAL(clicked()),this,SLOT(Login()));
}

void Dialog::Login()
{
    qDebug() << ui->lineEdit->text();
    qDebug() << ui->lineEdit_2->text();
}

Dialog::~Dialog()
{
    delete ui;
}

dialog.h文章来源地址https://www.toymoban.com/news/detail-419130.html

#ifndef DIALOG_H
#define DIALOG_H

#include <QDialog>

namespace Ui {
class Dialog;
}

class Dialog : public QDialog
{
    Q_OBJECT

public:
    explicit Dialog(QWidget *parent = 0);
    ~Dialog();

private:
    Ui::Dialog *ui;

private slots:
    void Login();
};

#endif // DIALOG_H

到了这里,关于Qt之对话框(QDialog)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 第三篇:对话框窗口部件 QDialog

    对话框(Dialog)是计算机图形用户界面(GUI)中的一种常见窗口类型, 通常用于与用户进行交互、获取信息、提供反馈或执行特定任务 。对话框的主要目的是与用户进行短期的、有限的交互,以完成特定的操作或任务,然后将控制返回给应用程序的主窗口或上下文。 按照运

    2024年02月11日
    浏览(53)
  • QDialog实现圆角对话框的三种方式

    方式一:通过QBitMap设置控件有效绘制区域(缺点:容易产生锯齿,锯齿来自于QBitMap) Dialog继承Qdialog 设置无边框及背景透明 重写paintEvent 参考链接:https://blog.csdn.net/ajcjldd/article/details/127306630 方式二:QPainter直接绘制圆角矩形(缺点:无法使用qss方式配置背景色,需要根据主

    2024年02月06日
    浏览(46)
  • 【pyqt5界面化工具开发-8】窗口开发-QDialog对话框

    目录 一、调用父类的菜单 二、添加更多的布局在对话框内 和前面Qwedget一样的结构(不做过多介绍) 可以参考代码中的注释 这和前面讲的Qwedget窗口布局基本上一样了 运行结果:

    2024年02月11日
    浏览(51)
  • Qt对话框——QInputDialog输入对话框

    Qt对话框——QInputDialog输入对话框 在Qt开发中,我们有时需要通过一个对话框获取用户的输入,而QInputDialog就是Qt框架提供的一种方便地弹出输入对话框并获取用户输入数据的方式。 QInputDialog使用非常简单,我们可以通过访问不同的接口来弹出输入对话框获取多种类型的返回

    2024年02月12日
    浏览(48)
  • Qt标准对话框:8大对话框详解

    颜色对话框类 QColorDialog 提供了一个可以获取指定颜色的对话框的对话框部件: 这里使用 QColorDialog 的静态函数 getColor () 来获取颜色,执行时弹出颜色选择对话框: 返回的是一个 QColor 类型的数据: 这四个数值分别代表:透明度(alpha)、Red、Green、Blue。它们的默认值都是

    2024年02月03日
    浏览(58)
  • Python Qt6快速入门-自定义对话框和标准对话框

    对话框是有用的 GUI 组件,可以与用户进行交流(因此得名对话框)。 它们通常用于文件打开/保存、设置、首选项或不适合应用程序主 UI 的功能。 它们是位于主应用程序前面的小模态(或阻塞)窗口,直到它们被关闭。 Qt 为最常见的用例提供

    2024年02月03日
    浏览(48)
  • 【Qt】:对话框(二)

    Q提供了多种可复用的对话框类型,即Qt标准对话框。Qt标准对话框全部继承于QDialog类。常用标准对话框如下: 消息对话框是应用程序中最常用的界面元素。消息对话框主要用于为用户提示重要信息,强制用户进行选择操作。 QMessageBox自己内置了一些图标和按钮,我们可以直接

    2024年04月16日
    浏览(61)
  • Qt对话框

    颜色对话框: 字体对话框: 输入对话框: 消息对话框:

    2024年02月06日
    浏览(45)
  • 【QT】标准对话框

    目录 1 概述 2 QFileDialog对话框 1.选择打开一个文件 2.选择打开多个文件 3.选择已有目录 4.选择保存文件名 3 QColorDialog对话框 4 QFontDialog对话框 5 QInputDialog标准输入对话框 1.输入文字 2.输入整数 3.输入浮点数 4.下拉列表选择输入 6 QMessageBox消息对话框 1.函数原型 2.简单信息

    2024年02月02日
    浏览(54)
  • 【Qt】:对话框(一)

    对话框是GUI程序中不可或缺的组成部分。一些不适合在主窗口实现的功能组件可以设置在对话框中。对话框通常是一个顶层窗口,出现在程序最上层,用于实现短期任务或者简洁的用户交互。 Qt常用的内置对话框有: QFiledialog (文件对话框). QColorDialog(颜色对话框)、 QFontDialog(字

    2024年04月14日
    浏览(80)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包