QT学习笔记5

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()[0];
       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();

消息对话框选择

 1     QMessageBox::StandardButton rb=QMessageBox::critical(NULL,tr("warning"),tr("this is something worong"),QMessageBox::Yes|QMessageBox::No,QMessageBox::No);
 2     if (rb==QMessageBox::Yes)
 3     {
 4        QMessageBox::information(NULL,tr("Path"),tr("Y"));
 5     }else
 6     {
 7         QMessageBox::information(NULL,tr("Path"),tr("N "));
 8     }
 9     QMessageBox message(QMessageBox::NoIcon,"title","content",QMessageBox::Yes|QMessageBox::No,NULL);
10     message.setIconPixmap(QPixmap("H:\for home\learningQT\11\Open.png")); 
11     
12     if (message.exec()==QMessageBox::No)
13     {
14        QMessageBox::information(NULL,tr("Path"),tr("N "));
15     }

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