QT 标准对话框

颜色选择对话框

#include <QColorDialog>
#include <QDebug>

QColor color = QColorDialog::getColor(Qt::white,this,tr("颜色对话框"),QColorDialog::ShowAlphaChannel); //white为初始颜色,选中white按F1,查看更多预定义颜色列表
   qDebug()<<"color.red():"<<color.red();
   qDebug()<<"color.green():"<<color.green();
   qDebug()<<"color.blue():"<<color.blue();
   qDebug()<<"color.alpha():"<<color.alpha();

在这里插入图片描述

文件对话框

#include <QFileDialog>

QString fileName = QFileDialog::getOpenFileName(this,tr("文件对话框"),"D:\\Tinkle",tr("file(*docx *rar);;(*jpg *png)")); //地址打\\双斜杠,或使用"D:/Tinkle"

QStringList filenames = QFileDialog::getOpenFileNames(this,tr("文件对话框"),"D:\\Tinkle",tr("file(*docx *rar)"));//多选文件

//getSaveFileName()//保存(另存为)文件对话框
//getExistingDirectory()//获取已经存在的文件夹路径

在这里插入图片描述

字体设置对话框

#include <QFontDialog>
  bool ok;
  QFont font = QFontDialog::getFont(&ok,this);
  if(ok)
  {
      ui->pushButton->setFont(font);
  }
  else
      qDebug()<<"没有设置字体";

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

输入对话框

#include <QInputDialog>
	bool ok;
    //获取字符串
    QString string = QInputDialog::getText(this,tr("获取字符串"),tr("Lable"),QLineEdit::Normal,tr("admin"),&ok);//父窗口,标题,对话框标签文本,输入字符串显示模式(如密码显示黑点),默认输入值,按钮信息bool变量
    
    //获取整数
    int num = QInputDialog::getInt(this,tr("获取整数"),tr("Lable"),
                                   100,-50,900,10,&ok);//init,min,max,step
    //获取浮点数
    double d = QInputDialog::getDouble(this,tr("获取浮点数"),tr("Lable "),0.00,-50,900,3,&ok);//(init,min,max,小数位数)

    //获取条目
    QStringList items;
    items<<"apple"<<"ball"<<"cat"<<"dog";
    QString item = QInputDialog::getItem(this,tr("获取条目"),tr("Lable"),items,0,true,&ok);
    if(ok)
        qDebug()<<"items:"<<items<<"\nitem:"<<item; //默认第0个条目,true表示条目可修改

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

消息对话框

#include <QMessageBox>

//问题对话框
int ret1 = QMessageBox::question(this,"title","question",QMessageBox::Yes,QMessageBox::No);
    if(ret1 == QMessageBox::Yes)
        qDebug()<<"yes";

//提示对话框
int ret2 = QMessageBox::information(this,"title","info",QMessageBox::Ok);
    if(ret2 == QMessageBox::Ok)
        qDebug()<<"yes";
        
//警示对话框
int ret3 = QMessageBox::warning(this,"title","warn",QMessageBox::Abort);
    if(ret3 == QMessageBox::Abort)
        qDebug()<<"yes";
        
//错误对话框
    int ret4 = QMessageBox::critical(this,"title","warn",QMessageBox::YesAll);
    if(ret4 == QMessageBox::YesAll)
        qDebug()<<tr("错误");
    //关于对话框
QMessageBox::about(this,tr("title"),tr("about ..."));

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

进度对话框

#include <QProgressDialog>
QProgressDialog dlg(tr("process"),tr("cancle"),0,50000,this);//Lable,Button,min,max,父窗口
    dlg.setWindowTitle(tr("Title"));
    dlg.setWindowModality(Qt::WindowModal);
    dlg.show();
    for(int i = 0;i<50000; i++)//演示复制进度
    {
        dlg.setValue(i);//设置进度条当前值
        QCoreApplication::processEvents();//避免界面冻结
        if(dlg.wasCanceled())//取消按钮则中断
            break;
    }
    dlg.setValue(50000);//显示100%,for循环少一个数

在这里插入图片描述

错误信息对话框

#include <QErrorMessage>

QErrorMessage *errorDlg = new QErrorMessage(this);
errorDlg->setWindowTitle("Title");
errorDlg->showMessage("error");

在这里插入图片描述

向导对话框

.h文件
#include <QWizard>
private:
    QWizardPage *createPage1();
    QWizardPage *createPage2();
    QWizardPage *createPage3();
    
.cpp文件
void MainWindow::on_pushButton_clicked()
{
    QWizard wizard(this);
    wizard.setWindowTitle("guide");
    wizard.addPage(createPage1());
    wizard.addPage(createPage2());
    wizard.addPage(createPage3());
    wizard.exec();
}

QWizardPage * MainWindow::createPage1()
{
    QWizardPage *page = new QWizardPage;
    page->setTitle("introduce");
    return page;
}

QWizardPage *MainWindow::createPage2()
{
    QWizardPage *page = new QWizardPage;
    page->setTitle("info");
    return page;
}

QWizardPage *MainWindow::createPage3()
{
    QWizardPage *page = new QWizardPage;
    page->setTitle("end");
    return page;
}

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值