一、标准对话框

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中的一些对话框(个人备忘录)的更多相关文章

  1. Qt中的标准对话框之QMessageBox

    1. Qt标准对话框 Qt为开发者提供了一些可复用的对话框类型 Qt提供的可复用对话框全部继承自QDialog类 Qt中的对话框的使用方式和QDialog完全一致 2. 标准对话框的使用步骤 ①定义对 ...

  2. Qt中的标准对话框

    1. Qt为开发者提供了一些可复用的对话框类型,如QMessageBox,QFileDialog,QPrintDialog, QColorDialog, QInputDialog, QProgress ...

  3. QT中的各种对话框

    大家可以参见QT中各种MessageBox的使用的这篇文章 界面效果图如下,大家可以用代码自己操作 diglog.h #ifndef DIALOG_H #define DIALOG_H #includ ...

  4. Qt 中的消息对话框

    1. QMessagebox 类的几个静态成员函数,可以直接调用创建对话框 StandardButton critical(QWidget * parent, const QString &  ...

  5. QT笔记之模态对话框及非模态对话框

    模态对话框(Modal Dialog)与非模态对话框(Modeless Dialog)的概念不是Qt所独有的,在各种不同的平台下都存在.又有叫法是称为模式对话框,无模式对话框等.所谓模态对话框就是在其 ...

  6. 第38课 Qt中的事件处理(上)

    1. GUI程序原理回顾 (1)图形界面应用程序的消息处理模型 (2)思考:操作系统发送的消息如何转变为Qt信号 2. Qt中的事件处理 (1)Qt平台将系统产生的消息转换为Qt事件 ①Qt事件是一个 ...

  7. QT中静态库的生成与使用

    一. 静态库的生成    1. 测试目录: lib    2. 源码文件名: mywindow.h, mywindow.cpp, 类MyWindow继承于QPushButton, 并将文字设置为&qu ...

  8. QT中QWidget、QDialog QMainWindow

    继承关系:在Qt中所有的类都有一个共同的基类QObject ,QWidget直接继承与QPaintDevice类,QDialog.QMainWindow.QFrame直接继承QWidget 类. QW ...

  9. Qt中QObject中的parent参数

    今天写了一个小程序,验证了带参的构造函数中参数parent的作用. 在MainWindow中声明一个QDialog类型的指针,在MainWindow中对它进行初始化.我采用了两种初始化方式,一种是带参 ...

  10. 【转】QT中QWidget、QDialog及QMainWindow的区别

    QWidget类是所有用户界面对象的基类. 窗口部件是用户界面的一个基本单元:它从窗口系统接收鼠标.键盘和其它事件,并且在屏幕上绘制自己.每一个窗口部件都是矩形的,并且它们按Z轴顺序排列.一个窗口部件 ...

随机推荐

  1. Linux shell 获取路径、文件名、文件后缀

    以 make 文件为例: file=/usr/bin/make [root@CentOs7]# echo ${file%*/} /usr/bin/make [root@CentOs7]# echo $ ...

  2. 区间(环形)dp

    1 #include <iostream> 2 3 using namespace std; 4 5 const int MAXN=110; 6 7 int n; 8 int a[MAXN ...

  3. jwt二次加密失败原因(Bad “options.expiresIn“ option the payload already has an “exp“ property.)

    在写vue+nodejs项目的校验token时,出现了次错误 然后想了想问题所在: 第一次加密的时候使用jwt.sign(value,秘钥,{}),会返回一个字符串,然后当前端跳转别的发送请求时,会将 ...

  4. Delphi 新语法:For in语句

    据说Delphi 2005开始支持For in语句.并没有深入调查,依然从万一博客学习并整理. 一.遍历 TStrings var List: TStrings; s: string; begin L ...

  5. 在platformio自动上传esp8266固件

    不想每次上传固件的时候手工点按钮,修改这个文件:C:\Users\你的登录名.platformio\platforms\espressif8266\builder\main.py 在319行UPLOA ...

  6. Windows系统的显示器校正

    莫名其妙的显示器显示的内容整体向上偏移,导致一些页面在最大化窗口时,看不见页面的标题,及操作按钮,如页面的关闭,缩小按钮. 解决方法:点击显示器下方的menu按钮,找到 设定 选项,再选择 复位 即可 ...

  7. Linux 系统镜像分类和包管理工具

    查看系统版本 cat /proc/version 可以看到如下返回,Linux是RedHat系统 Linux version 4.18.0-372.9.1.el8.x86_64 (mockbuild@ ...

  8. mysql修改密码报错:Your password does not satisfy the current policy requirements

    这是 mysql 初始化时,使用临时密码,修改自定义密码时,由于自定义密码比较简单,就出现了不符合密码策略的问题. 密码策略问题异常信息: ERROR 1819 (HY000): Your passw ...

  9. [Oracle19C 数据库管理] 加载和传输数据库

    移动数据的通用架构 数据泵data pump(impdp, expdp),借助DBMS_DATAPUMP存储过程,可以进行表的导出导入,行记录的导出导入,表空间的导出导入或者整个schema的导出导入 ...

  10. 头条二面:宕机后,Redis如何实现快速恢复?

    Redis作为非常火热的内存数据库,其除了具有非常高的性能之外,还需要保证高可用,在故障发生时,尽可能地降低故障带来的影响,Redis也提供了完善的故障恢复机制:哨兵.下面就来具体来看看Redis的故 ...