QT中对话框的使用示例详解

 更新时间:2022年11月18日 11:35:57   作者:音视频开发老舅  
这篇文章主要为大家详细介绍了Qt中对话框的使用,以及QMessageBox类中常见函数的使用,文中的示例代码讲解详细,感兴趣的小伙伴可以学习一下

标准文件对话框

其函数形式如下::

QString QFileDialog::getOpenFileName
(
QWidget * parent=0,
const QString &caption=QString(),
const QString &dir=QString(),
const QString &filter=QString(),
QString *selectFiler=0,//用户选择的过滤器通过此参数返回
Option option=0//选择显示文件名的格式,默认是同时显示目录和文件名
)
void Widget::btn_click()
{
    /*getOpenFileName()打开的窗口是模式窗口*/
    /*不含参数*/
    //QString s=QFileDialog::getOpenFileName();
    /*含参数
     * 第一个参数是其父窗口的指针
     * 第二个参数是打开窗口的名字
     * 第三个参数dir,是对话框显示时默认打开的目录,
     *  "." 代表程序运行目录,"/" 代表当前盘符的根目录(Windows,Linux下/就是根目录了),
     *  也可以是平台相关的,比如"C:\\"等;
     *  例如我想打开程序运行目录下的Data文件夹作为默认打开路径,
     *  这里应该写成"./Data/",若想有一个默认选中的文件,
     *  则在目录后添加文件名即可:"./Data/teaser.graph"
     * 第四个参数filter,是对话框的后缀名过滤器,
     *  比如我们使用"Image Files(*.jpg *.png)"就让它只能显示后缀名是jpg或者png的文件。
     *  如果需要使用多个过滤器,使用";;"(这里是分号)分割,
     *  比如"JPEG Files(*.jpg);;PNG Files(*.png)";
     * 第五个参数selectedFilter,是默认选择的过滤器;
     * 第六个参数options,是对话框的一些参数设定,
     *  比如只显示文件夹等等,它的取值是enum QFileDialog::Option,每个选项可以使用 | 运算组合起来。
    */
    QString s=QFileDialog::getOpenFileName(this,"打开窗口的名称","/","C++ file(*.cpp);;C file(*.c);;Head file(*.h)");
    /*用户点击了确定*/
    if(!s.isEmpty())
    {
        this->setWindowTitle(s);
    }
}

标准颜色对话框

其函数形式如下

getColor()函数是标准颜色对话框QColorDialog类的一个静态函数,该函数返回用户选择的颜色值,下面是getColor()函数形式:

QColor getColor
(
    const QColor &initial=QT::whiye,
    QWidget *parent=0
)
void Widget::btn_click()
{
    /*头文件需要包含QColor和QColorDialog*/
    /*
     * 第一个参数设置默认颜色,可选
     * 第二个参数父窗口指针,可选
     */
    QColor c=QColorDialog::getColor(Qt::blue,this);
}

标准字体对话框

其函数形式如下

getFont()函数是标准字体对话框QFontDialog类的一个静态函数,该函数返回用户所选择的字体,下面是getFont()函数形式

QFont getFont
(
bool *ok,
QWidget *parent=0
)
void Widget::btn_click()
{
bool ok;
/*
* getFont()第一个参数必选*/
QFontDialog::getFont(&ok);
/*用户点击确定,返回true,用户点击取消,返回false*/
if(ok)
{
setWindowTitle("用户点击确定");
}else
{
setWindowTitle("用户点击取消");
}
}

QMessageBox类

question()函数

StandardButton QMessageBox::question
(
QWidget *parent,//消息框父窗口指针
const QString & title,//消息框标题栏
const QString & text,消息框文字提示信息
StandardButtons buttons=Ok,
StandardButton defaultButton=No
)
void Widget::btn_click()
{
    /*
     * 第三个参数是设置对话框里有几个按钮,
     * 第四个参数是设置对话框默认选中的按钮是哪个*/
    if(QMessageBox::question(this,"消息标题","消息内容实体",QMessageBox::Ok|QMessageBox::Cancel,QMessageBox::Ok)==QMessageBox::Ok)
    {
        /*用户点击了确定*/
        setWindowTitle("OK");
    }else
    {
        setWindowTitle("NO");
    }
}

information()函数

information()函数,主要是提示功能,不需要用户选择

StandardButton QMessageBox::information
(
QWidget *parent,//消息框父窗口指针
const QString & title,//消息框标题栏
const QString & text,消息框文字提示信息
StandardButtons buttons=Ok,
StandardButton defaultButton=No
)
void Widget::btn_click()
{
    /*一般不适用后两个参数*/
    QMessageBox::information(this,"提示信息","提示内容");
}

warning()函数

warning消息框使用QMessageBox::warning()函数完成,函数形式如下

StandardButton QMessageBox::warning
(
QWidget *parent,//消息框父窗口指针
const QString & title,//消息框标题栏
const QString & text,消息框文字提示信息
StandardButtons buttons=Ok,
StandardButton defaultButton=No
)
void Widget::btn_click()
{
    /*和information()函数类似,只是页面上多了一个警告标志*/
    if(QMessageBox::warning(this,"警告","你修改的内容还未保存,是否要保存队该文件的修改!",QMessageBox::Save|QMessageBox::Discard|QMessageBox::Cancel,QMessageBox::Save)==QMessageBox::Save)
    {
        setWindowTitle("save");
    }
}

critical()函数

critical()函数--严重错误:

critical消息框使用QMessageBox::critical()函数完成,函数形式如下

StandardButton QMessageBox::critical
(
    QWidget *parent,//消息框父窗口指针
    const QString & title,//消息框标题栏
    const QString & text,消息框文字提示信息
    StandardButtons buttons=Ok,
    StandardButton defaultButton=No
)
void Widget::btn_click()
{
    QMessageBox::critical(this,"严重错误","该文件不可以删除!");
}

about()函数

about消息框使用QMessageBox::about()函数完成,函数形式如下

void QMessageBox::about
(
    QWidget *parent,//消息框父窗口指针
    const QString & title,//消息框标题栏
    const QString & text,消息框文字提示信息
)
void Widget::btn_click()
{
    QMessageBox::about(this,"关于","这是本公司版权软件,盗版必究!");
}

到此这篇关于QT中对话框的使用示例详解的文章就介绍到这了,更多相关QT对话框内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C语言邻接表建立图详解

    C语言邻接表建立图详解

    这篇文章主要介绍了C语言邻接表建立图,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • Qt5.9实现简单的多线程实例(类QThread)

    Qt5.9实现简单的多线程实例(类QThread)

    Qt开启多线程,主要用到类QThread。用一个类继承QThread,然后重新改写虚函数run()。具有一定的参考价值,感兴趣的可以了解一下
    2021-09-09
  • C语言实现最简单的剪刀石头布小游戏示例

    C语言实现最简单的剪刀石头布小游戏示例

    这篇文章主要介绍了C语言实现最简单的剪刀石头布小游戏,涉及C语言数组、随机数与数值运算等相关操作技巧,需要的朋友可以参考下
    2017-09-09
  • VC++植物大战僵尸中文版修改器实现代码

    VC++植物大战僵尸中文版修改器实现代码

    这篇文章主要介绍了VC++植物大战僵尸中文版修改器实现代码,可实现植物大战僵尸中的无限阳光与无冷却时间功能,需要的朋友可以参考下
    2015-04-04
  • C++ move()函数案例详解

    C++ move()函数案例详解

    这篇文章主要介绍了C++ move()函数案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-09-09
  • C语言实现清空指定文件夹中所有文件的方法

    C语言实现清空指定文件夹中所有文件的方法

    这篇文章主要介绍了C语言实现清空指定文件夹中所有文件的方法,实例分析了C语言实现文件删除的相关技巧,需要的朋友可以参考下
    2015-06-06
  • return和break的区别解析

    return和break的区别解析

    这篇文章主要介绍了return和break的区别解析,需要的朋友可以参考下
    2014-02-02
  • C++抽象基类讲解

    C++抽象基类讲解

    这篇文章主要介绍了C++抽象基类讲解,象基类abstract base class简称ABC,C++实现继承的时候,需要保证派生类和基类之间是一种is-a的关系。在大多数时刻,这样的关系是没有问题的,然而在一些特殊的情况可能会遇到问题,下面来看看文章的具体介绍吧
    2022-01-01
  • C++四种强制转换原理与价值

    C++四种强制转换原理与价值

    这篇文章主要介绍了C++的四种强制转换原理与价值,文中介绍的非常详细,对学习C语言有一定的参考价值,感兴趣的小伙伴可以参考一下
    2023-04-04
  • C语言实现歌手大奖赛计分程序

    C语言实现歌手大奖赛计分程序

    这篇文章主要为大家详细介绍了C语言实现歌手大奖赛计分程序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-03-03

最新评论