Qt之标准对话框(QMessageBox、QFileDialog)

简介: Qt之标准对话框(QMessageBox、QFileDialog)

前言

Qt为开发者提供了一些可复用的对话框,他对我们的开发是很重要的。下面我们就来学习


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

如何学习标准对话框

其实在Qt中的对话框遵守相同的原则:

DialogType dialog(this);
dialog.Setproperties(...);//设置属性
if(dialog.exec() == DialogType::value)
{
  //处理具体的事情
}

其实是很简单的,很快就能学会。

QMessageBox消息对话框

这就相当于是一个QMessageBox


ffe4e8a941e54a81803a2bd477d330b9.png

应用

1、为用户提示重要信息

2、强制用户操作选择

属性

设置窗口标题

setWindowTitle(QString);

设置对话框中的字符

setText(QString s);

设置图标

setIcon(Icon);
Qt中有预定义的图标使用,如下:
QMessageBox::NoIcon
0
the message box does not have any icon.
QMessageBox::Question
4
an icon indicating that the message is asking a question.
QMessageBox::Information
1
an icon indicating that the message is nothing out of the ordinary.
QMessageBox::Warning
2
an icon indicating that the message is a warning, but can be dealt with.
QMessageBox::Critical
3
an icon indicating that the message represents a critical problem.

设置按钮:

如下图,设置的是最下面的三个按钮,也可以设置2个1个等等…


b6fc244bba2a4c26985b1c70238298fa.png

最后:

if(messagebox.exec() == QMessageBox::Ok)
{
}

提示:QMessageBox::Ok只有在上面这一步设置了,我们才能写。

点击Ok后,我们就会进入if

实操

因为代码比较少,所以我直接在main.cpp中写了,大家可以在类中写

#include "form.h"
#include <QApplication>
#include "QMessageBox"
#include <QDebug>
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QMessageBox msg;
    msg.setWindowTitle("Window Title");
    msg.setText("This is a message dialog!");
    msg.setIcon(QMessageBox::Information);
    //会有三个按钮
    msg.setStandardButtons(QMessageBox::Ok | QMessageBox::Cancel | QMessageBox::YesToAll);
    if( msg.exec() == QMessageBox::Ok )
    {
        qDebug() << "Ok button is clicked!";
    }
    return a.exec();
}

QFileDialog文件对话框

应用

1、打开文件

2、保存文件

属性

设置模式

setAcceptMode();
QFileDialog::AcceptOpen//打开模式
0
QFileDialog::AcceptSave//保存模式
1

设置打开/保存文件是否为1个/多个/其他

setFileMode()
QFileDialog::AnyFile
0
The name of a file, whether it exists or not.
QFileDialog::ExistingFile
1
The name of a single existing file.
QFileDialog::Directory
2
The name of a directory. Both files and directories are displayed. However, the native Windows file dialog does not support displaying files in the directory chooser.
QFileDialog::ExistingFiles
3
The names of zero or more existing files.

取文件中的数据

selectedFiles()

设置只打开哪些后缀的文件:

setNameFilter()

实操

  QFileDialog dlg;
    dlg.setAcceptMode(QFileDialog::AcceptOpen);
    dlg.setNameFilter("Text(*.txt)");
    dlg.setFileMode(QFileDialog::ExistingFiles);
    if( dlg.exec() == QFileDialog::Accepted )
    {
      //selectFiles()返回值为QStringList,意为QString的链表
      //使用他的使用需要包含QStringList的头文件
        QStringList fs = dlg.selectedFiles();
        for(int i=0; i<fs.count(); i++)
        {
            qDebug() << fs[i];
        }
    }
相关文章
|
5月前
|
Linux iOS开发 MacOS
19 QT - 标准文件对话框
19 QT - 标准文件对话框
30 0
|
3月前
Qt6学习笔记五(自定义对话框、QMessageBox、QColorDialog、QFileDialog、QFontDialog)
Qt6学习笔记五(自定义对话框、QMessageBox、QColorDialog、QFileDialog、QFontDialog)
41 0
|
5月前
15 QT - 对话框QDialog概述
15 QT - 对话框QDialog概述
20 0
|
2月前
|
存储
QT基础入门——QMainWindow与对话框QDialog(三)
QT基础入门——QMainWindow与对话框QDialog(三)
52 0
QT基础入门——QMainWindow与对话框QDialog(三)
|
8月前
QT5基本对话框
QFileDialog类的几个静态函数见上表,用户通过这些函数可以很方便地定制 自己的文件对话框。其中,getOpenFileName()函数返回用户选择的文件名。但是当 用户在选择文件时,如果选择“取消”(Cancel),则返回一个空串。在此仅详细说 明getOpenFileName()静态函数中各个参数的作用,其他文件对话框类中相关的静态函数 的参数有与其类似之处。
29 0
QT5基本对话框
|
4月前
|
数据安全/隐私保护
QT基础教程(对话框2)
QT基础教程(对话框2)
32 0
|
4月前
QT基础教程(对话框1)
QT基础教程(对话框1)
33 0
|
4月前
|
C++
C++ Qt开发:自定义Dialog对话框组件
在之前的文章中笔者已经为大家展示了默认`Dialog`组件的使用方法,虽然内置组件支持对数据的输入,但有时候我们需要一次性输入多个数据,此时如果之使用默认模态对话框似乎不太够用,此时我们需要自己创建一个自定义对话框,需要说明的是此类对话框也是一种窗体,所以可以在其上面放置任何通用组件,以实现更多复杂的开发需求。自定义对话框需要解决的问题是,如何让父窗体与子窗体进行数据交换,要实现数据的交换有两种方式,第一种方式是通过动态加载模态对话框,当用户点击确定后通过`GetValue()`来拿到数据,而第二种方式则是通过发送信号的方式将数据投递给父窗体,这两种方式都可以,读者可根据自身需求来选择不同的通
39 1
C++ Qt开发:自定义Dialog对话框组件
|
4月前
|
数据安全/隐私保护 C++ 开发者
C++ Qt开发:标准Dialog对话框组件
Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍标准对话框`QInputDialog`、`QFileDialog `这两种对话框组件的常用方法及灵活运用。在 Qt 中,标准对话框提供了一些常见的用户交互界面,用于执行特定任务,例如获取用户输入、选择文件路径、显示消息等。这些对话框通常具有标准化的外观和行为,使得在不同的平台上能够保持一致性。在一般的开发过程中,标准对话框是开发者常用的工具之一。
50 1
C++ Qt开发:标准Dialog对话框组件
|
5月前
《QT从基础到进阶·二十三》弹窗提示框QMessageBox和QCloseEvent事件
《QT从基础到进阶·二十三》弹窗提示框QMessageBox和QCloseEvent事件
80 0

热门文章

最新文章

推荐镜像

更多