首页 > 其他分享 >qt中的一些对话框(个人备忘录)

qt中的一些对话框(个人备忘录)

时间:2022-12-23 14:11:29浏览次数:40  
标签:qt 对话框 tr QWizardPage 备忘录 dialog MyWidget page

一、标准对话框

 

 

 1.对于颜色对话框

void MyWidget::on_pushButton_clicked()
{
   QColorDialog dialog(Qt::red,this);
   dialog.setOption(QColorDialog::ShowAlphaChannel);//显示alpha选项
   dialog.exec();
   QColor color=dialog.currentColor();//获取颜色
   qDebug()<<"color:"<<color;
}

2.对于文件对话框

void MyWidget::on_pushButton_2_clicked()
{
    QString fileName=QFileDialog::getOpenFileName(this,tr("文件对话框"),"D:",tr("图片文件(*png *jpg"));
    qDebug()<<"fileName:"<<fileName;
}

3.字体对话框

void MyWidget::on_pushButton_3_clicked()
{
    bool ok;
    QFont font=QFontDialog::getFont(&ok,this);
    if(ok)
    {
        ui->pushButton_2->setFont(font);
    }
    else
    {
        qDebug()<<tr("没有你选择的字体");
    }
}

4.对于输入对话框

void MyWidget::on_pushButton_4_clicked()
{
    bool ok;
    QString string=QInputDialog::getText(this,tr("输入字符对话框"),tr("请输入用户名:"),QLineEdit::Normal,tr("admin"),&ok);
    if(ok)
    {
        qDebug()<<"string:"<<string;
    }
    int value1=QInputDialog::getInt(this,tr("输入整数对话框"),tr("输入-1000到1000之间的数值"),100,-1000,1000,10,&ok);
    if(ok)
    {
        qDebug()<<"value1:"<<value1;
    }
    int value2=QInputDialog::getDouble(this,tr("输入浮点数对话框"),tr("输入-1000到1000之间的数值"),0.00,-1000,1000,2,&ok);
    if(ok)
    {
        qDebug()<<"value2:"<<value2;
    }
    QStringList items;
    items<<tr("条目1")<<tr("条目2");
    QString item=QInputDialog::getItem(this,tr("输入条目对话框"),tr("请选择或输入一个条目"),items,0,true,&ok);
    if(ok)
    {
        qDebug()<<"item:"<<item;
    }

}

5.消息对话框

void MyWidget::on_pushButton_5_clicked()
{
    int ret1=QMessageBox::question(this,tr("问题对话框"),tr("你了解qt吗"),QMessageBox::Yes,QMessageBox::No);
    if(ret1==QMessageBox::Yes)qDebug()<<tr("问题!");
    int ret2=QMessageBox::information(this,tr("提示对话框"),tr("这是Qt书籍!"),QMessageBox::Ok);
    if(ret2==QMessageBox::Ok) qDebug()<<tr("提示!");
    int ret3=QMessageBox::warning(this,tr("警告对话框"),tr("不能提前结束"),QMessageBox::Abort);
    if(ret3==QMessageBox::Abort)qDebug()<<tr("警告");
    int ret4=QMessageBox::critical(this,tr("严重错误对话框"),tr("发现一个严重的错误!,现在我要关闭所有的文件!"),QMessageBox::YesAll);
     if(ret4==QMessageBox::YesAll) qDebug()<<tr("错误");
     QMessageBox::about(this,tr("关于对话框"),tr("yafeililnux致力于Qt以及QT的普及工作"));

}

6.进度条对话框

void MyWidget::on_pushButton_6_clicked()
{
    QProgressDialog dialog(tr("文件复制框"),tr("取消"),0,50000,this);
    dialog.setWindowTitle(tr("进度对话框"));
    dialog.setWindowModality(Qt::WindowModal);
    dialog.show();
    for(int i=0;i<50000;i++)
    {
        dialog.setValue(i);
        QCoreApplication::processEvents();
        if(dialog.wasCanceled())break;
    }
    dialog.setValue(50000);
    qDebug()<<tr("复制结束");
}

7.错误对话框

 

 8.向导对话框

 

 

QWizardPage * MyWidget::createPage1()
{
    QWizardPage * page=new QWizardPage;
    page->setTitle("介绍");
    return page;
}


QWizardPage * MyWidget::createPage2()
{
    QWizardPage * page=new QWizardPage;
    page->setTitle("用户选择信息");
    return page;
}


QWizardPage * MyWidget::createPage3()
{
    QWizardPage * page=new QWizardPage;
    page->setTitle("结束");
    return page;
}



void MyWidget::on_pushButton_8_clicked()
{
    QWizard wizard(this);
    wizard.setWindowTitle(tr("向导对话框"));
    wizard.addPage(createPage1());
    wizard.addPage(createPage2());
    wizard.addPage(createPage3());
    wizard.exec();
}

 

标签:qt,对话框,tr,QWizardPage,备忘录,dialog,MyWidget,page
From: https://www.cnblogs.com/whpazz/p/16999333.html

相关文章

  • QT QCustomPlot 中用参考线标示曲线的值
    https://blog.csdn.net/qq_37006532/article/details/127537965一、前言嵌入式触摸系统主要介绍qt用QCustomPlot实现曲线绘制后,点击屏幕,在曲线上显示点击位置的曲线值......
  • QT组件说明
    QtCore:核心模块,提供了其它模块所必需的数据类型和非图像类;QtGUI:图形用户界面(GUI)组件的基类;QtQuick(QML):用于构建具有自定义用户界面的高动态应用程序的声明......
  • 非模态对话框内存释放
    重写PostNcDestroy方法:添加deletethis;即可voidCPage2Dlg::PostNcDestroy(){//TODO:在此添加专用代码和/或调用基类deletethis;CDialogEx::PostNcDestroy();}......
  • 对话框加载bmp为背景
    voidCXXXDlg::OnPaint(){//CPaintDCdc(this);//devicecontextforpaintingCPaintDCdc(this);CRectrect;GetClientRect(&rect);CDCdcMem;......
  • Qt程序打包成单独exe的方法
    (1)QT编译kit安装路径:c:\Qt\6.4.0\mingw_64\(2)打开命令行工具cmd,使用windeployqt对生成的exe文件进行打配置动态库文件:  c:\Qt\6.4.0\mingw_64\bin\windeployqt.......
  • 基于opencv和QT的摄像头采集代码( GoQTtemplate3持续更新)
    GoQTtemplate3是我为编写Linux下图像处理程序实现的框架,希望能够为大家解决Linux环境下桌面图像处理程序,提供一些帮助。文中相关代码请参考:​​https://github.com/jsxyhe......
  • 快速阅读《QT5.9 c++开发指南》1
    目录:书共分为16章,每章涉及一个主题或Qt的功能模块,涵盖了Qt应用程序开发的主要功能模块。人民邮电出版社异步社区本书的页面提供的“样章下载”,可......
  • qt的窗口
      1.窗口、字部件以及窗口类型(记得不牢固的)(1)#include<QtWidget>Widgets是在Qt中创建用户界面的主要元素。Widgets可以显示数据和状态信息,接收用户输入,并为应......
  • MQTT服务(C#)
    MQTT服务(C#)MQTT服务器(C#)开启MQTT服务器,需要用到库MQTTnet,使用VS2019企业版。右键管理Nuget包,搜索下载MQTTnet(3.0.16版本)并安装,Install-PackageMQTTNET,出现下列提示,......
  • Qt 操作QList程序莫名崩溃
    RT,QList是私有成员变量,在某个函数里面append或者clear,程序都会莫名崩溃,在“概要信息”提示“ProjectMESSAGE:Thisisnotabug,butaresultofusingQtinternals.Y......