- 颜色对话框
需要#incllude<QColorDialog>
创建过程:
QColor color=QColorDialog::getColor(Qt::red,this,tr("颜色对话框")); //参数说明1.初始化颜色,2父窗口,3.对话框标题
qDebug()<<"color:"<<color; //返回值为Qcolor类型数据
- 文件对话框
需要#incllude<QFileDialog>
创建过程:
QString filename=QFileDialog::getOpenFileName(this,tr("文件对话框"),"E:",tr("图片文件(*png *jpg)")); //参数说明:1.父窗口2.对话框标题3.默认打开路径4.过滤器
//不同类别可以使用;;分开,相同类别不同文件之间必须要用空格分开如下
//QString filename=QFileDialog::getOpenFileName(this,tr("文件对话框"),"E:",tr("图片文件(*png *jpg);;文本文件(*TXT)"));
//以上是选择单个文件,如下是选择多个文件
//QStringList filenames=QFileDialog::getOpenFileNames(this,tr("文件对话框"),"E:",tr("图片文件(*png *jpg)"));
qDebug()<<"filename:"<<filename;
- 字体对话框
需要#include<QFontDialog>
创建过程:
bool ok; //用于保存是否单击了ok
QFont font=QFontDialog::getFont(&ok,this);
- 输入对话框
需要#include<QInputDialog>
bool ok;
//文本输入,获取字符串
QString string = QInputDialog::getText(this,tr("请输入字符串对话框"),tr("请输入用户名"),QLineEdit::normal,tr("admin"),&ok);
if(ok) qDebug()<<"string"<<string;
//获取整数
int iValue=QInputDialog::getInt(this,tr("输入整数对话框"),tr("请输入-1000到1000的数值"),100,-1000,1000,10,&ok);//父窗口,窗口标题,默认值,最小值,最大值,步进
- 消息对话框
需要#include<QMessageDialog>
创建过程:
//问题对话框
int ret1=QMessageBox::question(this,tr("问题对话框"),tr("你了解Qt 吗?"),QMessage::Yes,QMessage::No);
if(ret1==QMessage::Yes) qDebug()<<tr("问题!");
//提示对话框
int ret2=QMessageBox::information(this,tr("提示对话框"),tr("这是一本Qt 书籍"),QMessage::Ok);
if(ret2==QMessage::Ok) qDebug()<<tr("提示!");
//警告对话框
int ret3=QMessageBox::warning(this,tr("警告对话框"),tr("不能提前退出"),QMessage::Abort);
if(ret3==QMessage::Abort) qDebug()<<tr("警告!");
//错误对话框
int ret4=QMessage::critical(this,tr("错误对话框"),tr("发生严重错误,现在要关闭所有文件"),QMessage::YesAll);
if(ret4==QMessage::YesAll) qDebug()<<tr("错误");
//关于对话框
int ret5=QMessage::about(this,tr("关于对话框"),tr("关于信息"));
- 进度条对话框
需要#include<QProgressDialog>
创建过程:
QProgressDialog dialog(tr("文件复制进度"),tr("取消"),0,5000,this);
dialog.setWindowTitle(tr("进度条对话框")); //设置窗口标题
dialog.setWindowModality(Qt::WindowModal); //将对话框设置为模态
dialog.show();
for(int i=0;i<5000;i++)
{
dialog.setValue(i);
QCoreApplication::processEvent(); //避免窗口冻结
if(dialog::wasCanceled()) break;
}
dialog.setValue(5000);
- 错误信息对话框
需要#incllude<QErrorMessage>
创建过程:
QErrorMessage * dialog=new QErrorMessage(this);
dialog->setWindowTitle(tr("错误信息对话框"));
dialog->showMessage(tr("这里是显示出错信息"));
- 向导对话框
需要#include<QWizard>
具体见P77页
Qt Create快速入门之----标准对话框
最新推荐文章于 2025-05-27 19:13:01 发布