239_QT_各种对话框:打开单独一个文件、打开多个文件、选择已有目录、保存文件、颜色字体、输入字符串、输入数字、输入条目对话框、QMessageBox对话框、OK提示、很严重的提示有×、关于

65 篇文章 6 订阅

代码

#include "dialog.h"
#include "ui_dialog.h"
#include <QFileDialog>
#include <QStringList>
Dialog::Dialog(QWidget *parent)
    : QDialog(parent)
    , ui(new Ui::Dialog)
{
    ui->setupUi(this);
}

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


void Dialog::on_btnClearText_clicked()
{
    ui->plainTextEdit->clear();
}

//打开单独一个文件
void Dialog::on_btnOpen_clicked()
{
    QString curPath = QDir::currentPath();
    QString digTitle = QString::fromLocal8Bit("选择对话框");
    //QString txtLable = QString::fromLocal8Bit("请选择一个文件");
    QString filter = QString::fromLocal8Bit("文本文件(*.txt);;图片文件(*.jpg *.gif);;所有格式(*.*)");

    QString filename = QFileDialog::getOpenFileName(this, digTitle, curPath, filter);
    if(filename.isEmpty()) return;

    ui->plainTextEdit->appendPlainText(filename);


}

//打开多个文件
void Dialog::on_btnOpenMulti_clicked()
{
    QString curPath = QDir::currentPath();
    QString digTitle = QString::fromLocal8Bit("选择对话框");
    QString filter = QString::fromLocal8Bit("文本文件(*.txt);;图片文件(*.jpg *.gif);;所有格式(*.*)");

    QStringList filenames = QFileDialog::getOpenFileNames(this, digTitle, curPath, filter);
    if(filenames.count() == 0) return;

    foreach(auto str, filenames){
        ui->plainTextEdit->appendPlainText(str);
    }

}

//选择已有目录
void Dialog::on_btnSelDir_clicked()
{
    QString curPath = QDir::currentPath();
     QString digTitle = QString::fromLocal8Bit("选择对话框");
     QString filter = QString::fromLocal8Bit("文本文件(*.txt);;图片文件(*.jpg *.gif);;所有格式(*.*)");

    QString selectDir = QFileDialog::getExistingDirectory(this, digTitle, curPath,
                                                          QFileDialog::ShowDirsOnly);
    if(selectDir.isEmpty()) return;

    ui->plainTextEdit->appendPlainText(selectDir);


}

//保存文件
void Dialog::on_btnSave_clicked()
{
    QString curPath = QCoreApplication::applicationDirPath();
    QString digTitle = QString::fromLocal8Bit("选择对话框");
    QString filter = QString::fromLocal8Bit("文本文件(*.txt);;图片文件(*.jpg *.gif);;所有格式(*.*)");

    QString filename = QFileDialog::getSaveFileName(this, digTitle, curPath, filter);
    if(filename.isEmpty()) return;

    ui->plainTextEdit->appendPlainText(filename);
}

//颜色
void Dialog::on_btnColor_clicked()
{
    QPalette pal = ui->plainTextEdit->palette();//此属性保存小部件的调色板
    QColor inicolor = pal.color(QPalette::Text);
    QColor color = QColorDialog::getColor(inicolor, this, QString::fromLocal8Bit("选择颜色"));

    if(!color.isValid())    return;

    pal.setColor(QPalette::Text, color);
    ui->plainTextEdit->setPalette(pal);

}

//字体
void Dialog::on_btnFont_clicked()
{
    bool ok = false;
    QFont initfont = ui->plainTextEdit->font();
    QFont font = QFontDialog::getFont(&ok, initfont, this,QString::fromLocal8Bit("选择字体") );

    if(!ok) return;
    ui->plainTextEdit->setFont(font);
}

//输入字符串
void Dialog::on_btnInputString_clicked()
{
    QString dlgTitle = QString::fromLocal8Bit("输入文字对话框");
    QString txtLable = QString::fromLocal8Bit("输入文件名");
    QString defalut = QString::fromLocal8Bit("xxx.txt");
    QLineEdit::EchoMode echoMode = QLineEdit::Normal;
    bool ok = false;
    QString str = QInputDialog::getText(this, dlgTitle,txtLable, echoMode, defalut,
                                        &ok);

    if(!ok) return;

    ui->plainTextEdit->appendPlainText(str);
}


//输入整数
void Dialog::on_btnInputInt_clicked()
{
    QString dlgTitle = QString::fromLocal8Bit("输入整数对话框");
    QString txtLable = QString::fromLocal8Bit("输入整数");
    int defalut = ui->plainTextEdit->font().pointSize();//拿到字体默认大小
    int minValue = 0, maxValue = 100;
    bool ok = false;
    int Value = QInputDialog::getInt(this, dlgTitle,txtLable, defalut, minValue,
                                       maxValue, 1,&ok);

    if(!ok) return;

    char buf[16]= {0};
    memset(buf, 0, sizeof(buf));
    sprintf(buf, "%d", Value);

    QFont font = ui->plainTextEdit->font();
    font.setPointSize(Value);

    ui->plainTextEdit->setFont(font);
    ui->plainTextEdit->appendPlainText(QString::fromLocal8Bit(buf));
}

//输入浮点数
void Dialog::on_btnInputFloat_clicked()
{
    QString dlgTitle = QString::fromLocal8Bit("输入浮点数对话框");
    QString txtLable = QString::fromLocal8Bit("输入浮点数");
    float defalut = 15.0;//拿到字体默认大小
    float minValue = 0, maxValue = 100;
    bool ok = false;
    float Value = QInputDialog::getDouble(this, dlgTitle,txtLable, defalut, minValue,
                                       maxValue, 2,&ok);//2,小数点后两位

    if(!ok) return;

    char buf[16]= {0};
    memset(buf, 0, sizeof(buf));
    sprintf(buf, "%.2f", Value);
    ui->plainTextEdit->appendPlainText(QString::fromLocal8Bit(buf));
}

//输入条目对话框
void Dialog::on_btnInputItem_clicked()
{
    QStringList items;
    items <<  QString::fromLocal8Bit("优秀")<<  QString::fromLocal8Bit("良好")
           <<  QString::fromLocal8Bit("及格") ;
    QString dlgTitle = QString::fromLocal8Bit("输入条目对话框");
    QString txtLable = QString::fromLocal8Bit("请选择条目");
    bool ok = false;
    QString text = QInputDialog::getItem(this, dlgTitle, txtLable, items, 0, true, &ok);


    if(!ok || text.isEmpty()) return;
    ui->plainTextEdit->appendPlainText(text);


}

//QMessageBox对话框
void Dialog::on_btnMsgQuestion_clicked()
{
    QString dlgTitle = QString::fromLocal8Bit("QMessageBox对话框");
    QString txtLable = QString::fromLocal8Bit("文件已经被修改,是否保存?");
    QMessageBox::StandardButtons result;
    result = QMessageBox::question(this,dlgTitle,  txtLable,
                                   QMessageBox::Yes
                                   | QMessageBox::No
                                   | QMessageBox::Cancel, QMessageBox::NoButton);

    QString str;
    if(result == QMessageBox::Yes)
            str = QString::fromLocal8Bit("QMessageBox对话框:Yes 被选中");
    else if(result == QMessageBox::No)
            str = QString::fromLocal8Bit("QMessageBox对话框:No 被选中");
    else if(result == QMessageBox::Cancel)
            str = QString::fromLocal8Bit("QMessageBox对话框:Cancel 被选中");
    else
            str = "";

    ui->plainTextEdit->appendPlainText(str);

}

//🆗提示
void Dialog::on_btnMsgInformation_clicked()
{
    QString dlgTitle = QString::fromLocal8Bit("title");
    QString txtLable = QString::fromLocal8Bit("txt");

    QMessageBox::information(this,dlgTitle, txtLable, QMessageBox::Ok);
}

//警告提示 ⚠
void Dialog::on_btnMsgWarning_clicked()
{
    QString dlgTitle = QString::fromLocal8Bit("title");
    QString txtLable = QString::fromLocal8Bit("txt");

    QMessageBox::warning(this,dlgTitle, txtLable, QMessageBox::Ok);
}

//很严重的提示  有❌
void Dialog::on_btnMsgCritical_clicked()
{
    QString dlgTitle = QString::fromLocal8Bit("title");
    QString txtLable = QString::fromLocal8Bit("txt");

    QMessageBox::critical(this,dlgTitle, txtLable, QMessageBox::Ok);

}

//关于
void Dialog::on_btnMsgAbout_clicked()
{
    QString dlgTitle = QString::fromLocal8Bit("title");
    QString txtLable = QString::fromLocal8Bit("txt");

    QMessageBox::about(this,dlgTitle, txtLable);

}

//关于QT信息
void Dialog::on_btnMsgAboutQt_clicked()
{
    QString dlgTitle = QString::fromLocal8Bit("title");

    QMessageBox::aboutQt(this,dlgTitle);

}


在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

扳手的海角

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值