QT常用对话框的使用以及实现
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QT常用对话框的使用以及实现相关的知识,希望对你有一定的参考价值。
考虑的QT的对话框的内容颇多,很难记,而且使用起来往往相同的操作,所以将自己敲的各个常用对话框的使用方法上传。以下包含了颜色对话框、打开单个(多个)文件对话框,字体对话框、输入对话框、提示信息对话框、进度对话框、QErrorMessage对话框,以及向导对话框。
废话少说,直接上代码:
//颜色对话框
QColor color = QColorDialog::getcolor(Qt::red,this,tr("颜色对话框"));
//获取选择的颜色再去设置即可
//文件对话框
QString filename = QFileDialog::getOpenFileName(this,tr("文件对话框"),"F:",tr("图片文件(*png)"));//如果想要获取多个文件直接使用getOpenFileNames方法即可
//字体对话框
bool ok;
QFont font = QFontDialog::getFont(&ok,this);
//输入对话框
QString str = QInputDialog::getText(this,tr("输入字符串对话框"),tr("请输入用户名"),QLineEdit::Normal,tr("admin"),&ok);
if(ok)
qDebug()<<"Welcome";
int value = QInputDialog::getInt(this,tr("输入整数对话框"),tr("请输入0-1000的数值"),100,0,1000,10,&ok);
if(ok)
qDebug()<<"Welcome";
double value2 = QInputDialog::getDouble(this,tr("输入浮点数对话框"),tr("请输入0-1000的数值"),0.00,0,1000,2,&ok);
if(ok)
qDebug()<<"Welcome";
QStringList items;
items<<tr("条目1")<<tr("条目2");
QString item = QInputDialog::getItem(this,tr("输入条目对话框"),tr("请选择一个条目"),items,0,true,&ok);
if(ok)
qDebug()<<"Welcome";
//提示信息对话框
int res = QMessageBox::question(this,tr("问题对话框"),tr("nothing"),QMessageBox::Yes,QMessageBox::No);
if(res == QMessageBox::Yes) //问题对话框
qDebug()<<"2333333";
int res1 = QMessageBox::information(this,tr("提示对话框"),tr("nothing"),QMessageBox::Ok);
if(res == QMessageBox::Ok) //提示对话框
qDebug()<<"2333333";
int res3 = QMessageBox::warning(this,tr("警告对话框"),tr("nothing"),QMessageBox::Abort);
if(res == QMessageBox::Abort)
qDebug()<<"2333333"; //警告对话框
int res4 = QMessageBox::critical(this,tr("严重错误对话框"),tr("nothing"),QMessageBox::YesAll);
if(res == QMessageBox::YesAll)
qDebug()<<"2333333";
int res4 = QMessageBox::about(this,tr("关于对话框"),tr("nothing"),tr("like life,like Opensource"));
//进度对话框
QProgressDialog dialog(tr("进度"),tr("Cancel"),0,50000,this);
dialog.setWindowTitle("进度对话框");
dialog.setWindowModality(Qt::WindowModal);
dialog.show();
for(int i = 0;i<=50000;i++){
dialog.setValue(i);
QCoreApplication::processEvents();
if(dialog.wasCanceled())
break;
}
//用于弹出错误信息.内容详细,不仅仅只是一个提示。有别于QMessageBox内的子方法
QErrorMessage *dia = new QErrorMessage(this);
dia->setWindowTitle("Error");
dia->showMessage(tr("It‘t error"));
QWizardPage *createPage1();
QWizardPage *createPage2();
QWizardPage *createPage3();
QWizardPage *MyWidget::createPage1() //一定要注意,这个是基于Widget类的函数,在QMainwindow是不存在的
{
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;
}
QWizard wizard(this);
wizard.setWindowTitle("向导对话框");
wizard.addPage(createPage1());
wizard.addPage(createPage2());
wizard.addPage(createPage3());
wizard.exec();
希望能帮到各位,而且希望大家能将开源精神传播下去。Like life,like Opensource。
继续学习QT中。有资料会多多开源。
以上是关于QT常用对话框的使用以及实现的主要内容,如果未能解决你的问题,请参考以下文章