QT学习笔记5

时间:2020-12-21 16:09:57

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>");