QT5(6)对话框

来源:互联网 发布:做美工需要学什么 编辑:程序博客网 时间:2024/06/07 08:55

这里写图片描述

一、文件对话框QFileDialog

void Dialog::showFile(){    QString s = QFileDialog::getOpenFileName(this,"open file dialog","/","C++ files(*.cpp)::C files(*.c)::Head files(*.h)");    fileLineEdit->setText(s);}

二、颜色对话框QColorDialog

void Dialog::showColor(){    QColor c = QColorDialog::getColor(Qt::blue);    if(c.isValid())    {        colorFrame->setPalette(QPalette(c));    }}

三、字体对话框QFontDialog

void Dialog::showFont(){    bool ok;    QFont f = QFontDialog::getFont(&ok);    if (ok)    {        fontLineEdit->setFont(f);    }}

四、输入对话框QInputDialog

//标准字符串输入void InputDlg::ChangeName(){    bool ok;    QString text=QInputDialog::getText(this,tr("标准字符串输入对话框"),tr("请输入姓名:"), QLineEdit::Normal,nameLabel2->text(),&ok);    if (ok && !text.isEmpty())        nameLabel2->setText(text);}//标准int类型输入void InputDlg::ChangeAge(){    bool ok;    int age = QInputDialog::getInt(this, tr("标准int类型输入对话框"),     tr("请输入年龄:"), ageLabel2->text().toInt(&ok), 0, 100, 1, &ok);    if (ok)        ageLabel2->setText(QString(tr("%1")).arg(age));}//标准double输入void InputDlg::ChangeScore(){    bool ok;    double score = QInputDialog::getDouble(this, tr("标准double类型输入对话框"),     tr("请输入成绩:"),scoreLabel2->text().toDouble(&ok), 0, 100, 1, &ok);    if(ok)        scoreLabel2->setText(QString(tr("%1")).arg(score));}

六、消息对话框MsgBoxDlg

void Dialog::showMsgDlg(){    msgDlg =new MsgBoxDlg();    msgDlg->show();}//Question消息对话框void MsgBoxDlg::showQuestionMsg(){    label->setText(tr("Question Message Box"));    switch(QMessageBox::question(this,tr("Question消息框"),          tr("您现在已经修改完成,是否要结束程序?"),          QMessageBox::Ok|QMessageBox::Cancel,QMessageBox::Ok))    {    case QMessageBox::Ok:        label->setText("Question button/Ok");        break;    case QMessageBox::Cancel:        label->setText("Question button/Cancel");        break;    default:        break;    }    return;}//Information消息对话框void MsgBoxDlg::showInformationMsg(){    label->setText(tr("Information Message Box"));    QMessageBox::information(this,tr("Information消息框"),                             tr("这是Information消息框测试,欢迎您!"));    return;}//Warning消息对话框void MsgBoxDlg::showWarningMsg(){    label->setText(tr("Warning Message Box"));    switch(QMessageBox::warning(this,tr("Warning消息框"),         tr("您修改的内容还未保存,是否要保存对文档的修改?"),         QMessageBox::Save|QMessageBox::Discard|QMessageBox::Cancel,         QMessageBox::Save))    {    case QMessageBox::Save:        label->setText(tr("Warning button/Save"));        break;    case QMessageBox::Discard:        label->setText(tr("Warning button/Discard"));        break;    case QMessageBox::Cancel:        label->setText(tr("Warning button/Cancel"));        break;    default:        break;    }    return;}//Critical消息对话框void MsgBoxDlg::showCriticalMsg(){    label->setText(tr("Critical Message Box"));    QMessageBox::critical(this,tr("Critical消息框"),tr("这是一个Critical消息框测试!"));    return;}//About消息对话框void MsgBoxDlg::showAboutMsg(){    label->setText(tr("About Message Box"));    QMessageBox::about(this,tr("About消息框"),tr("这是一个About消息框测试!"));    return;}//AboutQt消息对话框void MsgBoxDlg::showAboutQtMsg(){    label->setText(tr("About Qt Message Box"));    QMessageBox::aboutQt(this,tr("About Qt消息框"));    return;}
0 0