Qt标准对话框之QFileDialog
//QString path=QFileDialog::getOpenFileName(this,tr("open image"),".",tr("Image file(*.jpg *.png *bmp)"));
QFileDialog *fileDialog=new QFileDialog(this);
fileDialog->setWindowTitle(tr("open image"));
fileDialog->setDirectory(tr("."));
fileDialog->setFilter(tr("Image file(*.jpg *.png *bmp)")); if (fileDialog->exec()!=QDialog::Accepted)
{
QMessageBox::information(NULL,tr("Path"),tr("open file failed"));
}else
{
QString path=fileDialog->selectedFiles()[];
QMessageBox::information(NULL,tr("Path"),tr("You selected ")+path);
}
Qt标准对话框之QColorDialog
QColor color=QColorDialog::getColor(Qt::blue,this);
QString msg=QString("r: %1, g: %2, b:%3").arg(QString::number(color.red()),QString::number(color.green()),QString::number(color.blue()));
QMessageBox::information(NULL,tr("COLOR"),msg);
QString 用法 需要QString("r: %1, g: %2, b: %3")创建了一个QString对象。占位符的替换需要使用QString的arg()函数。QString::number()函数,这也是QString的一个static函数,作用就是把int、double等值换成QString类型。
Qt标准对话框之QMessageBox
QMessageBox::critical(NULL,tr("warning"),tr("this is something worong"),QMessageBox::Yes|QMessageBox::No,QMessageBox::No);
设置图标
QMessageBox message(QMessageBox::NoIcon,"title","content");
message.setIconPixmap(QPixmap("H:\\for home\\learningQT\\11\\Open.png"));
message.exec();
消息对话框选择
QMessageBox::StandardButton rb=QMessageBox::critical(NULL,tr("warning"),tr("this is something worong"),QMessageBox::Yes|QMessageBox::No,QMessageBox::No);
if (rb==QMessageBox::Yes)
{
QMessageBox::information(NULL,tr("Path"),tr("Y"));
}else
{
QMessageBox::information(NULL,tr("Path"),tr("N "));
}
QMessageBox message(QMessageBox::NoIcon,"title","content",QMessageBox::Yes|QMessageBox::No,NULL);
message.setIconPixmap(QPixmap("H:\\for home\\learningQT\\11\\Open.png")); if (message.exec()==QMessageBox::No)
{
QMessageBox::information(NULL,tr("Path"),tr("N "));
}
Qt标准对话框之QInputDialog
bool isok;
QString text=QInputDialog::getText(NULL,"input dialog","Please input your commen",QLineEdit::Normal,"my name",&isok);
QMessageBox::information(NULL,tr("Path"),"Your comment is: <b>" + text + "</b>");