QT5(6)对话框

比眉伴天荒 2021-06-10 20:42 598阅读 0赞

这里写图片描述

一、文件对话框QFileDialog

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

二、颜色对话框QColorDialog

  1. void Dialog::showColor()
  2. {
  3. QColor c = QColorDialog::getColor(Qt::blue);
  4. if(c.isValid())
  5. {
  6. colorFrame->setPalette(QPalette(c));
  7. }
  8. }

三、字体对话框QFontDialog

  1. void Dialog::showFont()
  2. {
  3. bool ok;
  4. QFont f = QFontDialog::getFont(&ok);
  5. if (ok)
  6. {
  7. fontLineEdit->setFont(f);
  8. }
  9. }

四、输入对话框QInputDialog

  1. //标准字符串输入
  2. void InputDlg::ChangeName()
  3. {
  4. bool ok;
  5. QString text=QInputDialog::getText(this,tr("标准字符串输入对话框"),tr("请输入姓名:"), QLineEdit::Normal,nameLabel2->text(),&ok);
  6. if (ok && !text.isEmpty())
  7. nameLabel2->setText(text);
  8. }
  9. //标准int类型输入
  10. void InputDlg::ChangeAge()
  11. {
  12. bool ok;
  13. int age = QInputDialog::getInt(this, tr("标准int类型输入对话框"),
  14. tr("请输入年龄:"), ageLabel2->text().toInt(&ok), 0, 100, 1, &ok);
  15. if (ok)
  16. ageLabel2->setText(QString(tr("%1")).arg(age));
  17. }
  18. //标准double输入
  19. void InputDlg::ChangeScore()
  20. {
  21. bool ok;
  22. double score = QInputDialog::getDouble(this, tr("标准double类型输入对话框"),
  23. tr("请输入成绩:"),scoreLabel2->text().toDouble(&ok), 0, 100, 1, &ok);
  24. if(ok)
  25. scoreLabel2->setText(QString(tr("%1")).arg(score));
  26. }

六、消息对话框MsgBoxDlg

  1. void Dialog::showMsgDlg()
  2. {
  3. msgDlg =new MsgBoxDlg();
  4. msgDlg->show();
  5. }
  6. //Question消息对话框
  7. void MsgBoxDlg::showQuestionMsg()
  8. {
  9. label->setText(tr("Question Message Box"));
  10. switch(QMessageBox::question(this,tr("Question消息框"),
  11. tr("您现在已经修改完成,是否要结束程序?"),
  12. QMessageBox::Ok|QMessageBox::Cancel,QMessageBox::Ok))
  13. {
  14. case QMessageBox::Ok:
  15. label->setText("Question button/Ok");
  16. break;
  17. case QMessageBox::Cancel:
  18. label->setText("Question button/Cancel");
  19. break;
  20. default:
  21. break;
  22. }
  23. return;
  24. }
  25. //Information消息对话框
  26. void MsgBoxDlg::showInformationMsg()
  27. {
  28. label->setText(tr("Information Message Box"));
  29. QMessageBox::information(this,tr("Information消息框"),
  30. tr("这是Information消息框测试,欢迎您!"));
  31. return;
  32. }
  33. //Warning消息对话框
  34. void MsgBoxDlg::showWarningMsg()
  35. {
  36. label->setText(tr("Warning Message Box"));
  37. switch(QMessageBox::warning(this,tr("Warning消息框"),
  38. tr("您修改的内容还未保存,是否要保存对文档的修改?"),
  39. QMessageBox::Save|QMessageBox::Discard|QMessageBox::Cancel,
  40. QMessageBox::Save))
  41. {
  42. case QMessageBox::Save:
  43. label->setText(tr("Warning button/Save"));
  44. break;
  45. case QMessageBox::Discard:
  46. label->setText(tr("Warning button/Discard"));
  47. break;
  48. case QMessageBox::Cancel:
  49. label->setText(tr("Warning button/Cancel"));
  50. break;
  51. default:
  52. break;
  53. }
  54. return;
  55. }
  56. //Critical消息对话框
  57. void MsgBoxDlg::showCriticalMsg()
  58. {
  59. label->setText(tr("Critical Message Box"));
  60. QMessageBox::critical(this,tr("Critical消息框"),tr("这是一个Critical消息框测试!"));
  61. return;
  62. }
  63. //About消息对话框
  64. void MsgBoxDlg::showAboutMsg()
  65. {
  66. label->setText(tr("About Message Box"));
  67. QMessageBox::about(this,tr("About消息框"),tr("这是一个About消息框测试!"));
  68. return;
  69. }
  70. //AboutQt消息对话框
  71. void MsgBoxDlg::showAboutQtMsg()
  72. {
  73. label->setText(tr("About Qt Message Box"));
  74. QMessageBox::aboutQt(this,tr("About Qt消息框"));
  75. return;
  76. }

发表评论

表情:
评论列表 (有 0 条评论,598人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Qt 对话框

    1.Qt 中使用 QDialog类实现对话框。就像主窗口一样,我们通常会设计一个类继承 QDialog。QDialog(及其子类,以及所有 Qt::Dialog 类型的类)的对

    相关 Qt 标准对话框

    1.对话框种类 为应用程序设计提供了一些常用的标准对话框,如打开文件对话框、选择颜色对话框、信息提示和确认选择对话框、标准输入对话框等,用户无需再自己设计这些常用的对话框