天天看点

Qt 标准对话框

1.对话框种类

为应用程序设计提供了一些常用的标准对话框,如打开文件对话框、选择颜色对话框、信息提示和确认选择对话框、标准输入对话框等,用户无需再自己设计这些常用的对话框,这样可以减少程序设计工作量。

对话框 常用静态函数名称 函数功能

QFileDialog

文件对话框

QString getOpenFileName() QStringList getOpenFileNames() QString getSaveFileName() QString getExistingDirectory() QUrl getOpenFileUrl()

选择打开一个文件 选择打开多个文件 选择保存一个文件 选择一个己有的目录

选择打幵一个文件,可选择远程网络文件

QcolorDialog

颜色对话框

QColor getColor() 选择颜色

QFontDialog

字体对话框

QFont getFont() 选择字体

QinputDialog

输入对话框

QString getText() int getlnt() double getDouble()

QString getltem()

QString getMultiLineText()

输入单行文字 输入整数 输入浮点数

从一个下拉列表框中选择输入 输入多行字符串

QMessageBox

消息框

StandardButton information() StandardButton question() StandardButton waming() StandardButton critical() void about() void aboutQt() 信息提示对话框 询问并获取是否确认的对话框 警告信息提示对话框 错误信息提示对话框 设置自定义信息的关于对话框 关于Qt的对话框

2.QFileDialog 对话框 

选择打开一个文件

//设置打开路径
    QString filePath = "F://";

    //对话框标题
    QString dlgTitle="选择一个文件";

    //文件过滤器
    QString filter="文本文件(*.txt);;图片文件(*.jpg *.gif *.png);;所有文件(*.*)";

    //打开对话框
    QString fileName=QFileDialog::getOpenFileName(this,dlgTitle,filePath,filter);

    //选择打开多个文件
    QFileDialog::getOpenFileNames()
           

选择保存文件名

//设置打开路径
    QString filePath = "F://";

    //对话框标题
    QString dlgTitle="保存文件";

    //文件过滤器
    QString filter="文本文件(*.txt);;h文件(*.h);;C++文件(.cpp);;所有文件(*.*)";

    //打开对话框
    QString fileName=QFileDialog::getSaveFileName(this,dlgTitle,filePath,filter);
           

3.QColorDialog 对话框

//获取现有palette
    QPalette pal=ui->plainTextEdit->palette();

    //现有的文字颜色
    QColor iniColor=pal.color(QPalette::Text);

    //打开颜色对话框
    QColor color=QColorDialog::getColor(iniColor,this,"选择颜色");

    //选择有效
    if (color.isValid())
    {
        //palette 设置选择的颜色
        pal.setColor(QPalette::Text,color);
    }
           

4.QFontDialog 对话框

//获取文本框的字体
    QFont iniFont=ui->plainTextEdit->font();

    bool ok=false;

    //选择字体
    QFont font=QFontDialog::getFont(&ok,iniFont);

    //选择有效
    if (ok)
        ui->plainTextEdit->setFont(font);
           

5.QInputDialog标准输入对话框

QString dlgTitle="输入文字对话框";
    QString txtLabel="请输入文件名";
    QString defaultInput="新建文件.txt";
    
    //正常文字输入
    QLineEdit::EchoMode echoMode=QLineEdit::Normal;

    bool ok=false;
    QString text = QInputDialog::getText(this, dlgTitle,txtLabel, echoMode,defaultInput, &ok);
    if (ok && !text.isEmpty())
        ui->plainTextEdit->appendPlainText(text);
           

6.QMessageBox 消息对话框

//消息提示框
QMessageBox::information(this, dlgTitle, strInfo,
                              QMessageBox::Ok,QMessageBox::NoButton);


//警告框
QMessageBox::warning(this, dlgTitle, strInfo);

//错误框
QMessageBox::critical(this, dlgTitle, strInfo);

//关于
QMessageBox::about(this, dlgTitle, strInfo);
           

继续阅读