版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_33308135/article/details/82893944
颜色选择对话框
#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;
}