• Qt对话框


    颜色对话框:

    1. void Dialog::on_btnColor_clicked()
    2. {
    3. QPalette pal=ui->plainTextEdit->palette(); //获取现有 palette
    4. QColor iniColor=pal.color(QPalette::Text); //现有的文字颜色
    5. QColor color=QColorDialog::getColor(iniColor,this,"选择颜色");
    6. if (color.isValid()) //选择有效
    7. {
    8. pal.setColor(QPalette::Text,color); //palette 设置选择的颜色
    9. ui->plainTextEdit->setPalette(pal); //设置 palette
    10. }
    11. }

    字体对话框:

    1. void Dialog::on_btnFont_clicked()
    2. {//选择字体
    3. QFont iniFont=ui->plainTextEdit->font(); //获取文本框的字体
    4. bool ok=false;
    5. QFont font=QFontDialog::getFont(&ok,iniFont); //选择字体
    6. if (ok) //选择有效
    7. ui->plainTextEdit->setFont(font);
    8. }

    输入对话框:

    1. void Dialog::on_btnInputInt_clicked()
    2. {//输入整数
    3. QString dlgTitle="输入整数对话框";
    4. QString txtLabel="设置字体大小";
    5. int defaultValue=ui->plainTextEdit->font().pointSize(); //现有字体大小
    6. int minValue=6, maxValue=50,stepValue=1; //范围,步长
    7. bool ok=false;
    8. int inputValue = QInputDialog::getInt(this, dlgTitle,txtLabel,
    9. defaultValue, minValue,maxValue,stepValue,&ok);
    10. if (ok) //是否确认输入
    11. {
    12. QFont font=ui->plainTextEdit->font();
    13. font.setPointSize(inputValue);
    14. ui->plainTextEdit->setFont(font);
    15. }
    16. }
    17. void Dialog::on_btnInputFloat_clicked()
    18. { //输入浮点数
    19. QString dlgTitle="输入浮点数对话框";
    20. QString txtLabel="输入一个浮点数";
    21. float defaultValue=3.13;
    22. float minValue=0, maxValue=10000; //范围
    23. int decimals=2;//小数点位数
    24. bool ok=false;
    25. float inputValue = QInputDialog::getDouble(this, dlgTitle,txtLabel,
    26. defaultValue, minValue,maxValue,decimals,&ok);
    27. if (ok) //确认选择
    28. {
    29. QString str=QString::asprintf("输入了一个浮点数:%.2f",inputValue);
    30. ui->plainTextEdit->appendPlainText(str);
    31. }
    32. }
    33. void Dialog::on_btnInputItem_clicked()
    34. { //条目选择输入
    35. QStringList items; //ComboBox 列表的内容
    36. items <<"优秀"<<"良好"<<"合格"<<"不合格";
    37. QString dlgTitle="条目选择对话框";
    38. QString txtLabel="请选择级别";
    39. int curIndex=0; //初始选择项
    40. bool editable=true; //ComboBox是否可编辑
    41. bool ok=false;
    42. QString text = QInputDialog::getItem(this, dlgTitle,txtLabel,items,curIndex,editable,&ok);
    43. if (ok && !text.isEmpty())
    44. ui->plainTextEdit->appendPlainText(text);
    45. }
    46. void Dialog::on_btnInputString_clicked()
    47. { //输入字符串
    48. QString dlgTitle="输入文字对话框";
    49. QString txtLabel="请输入文件名";
    50. QString defaultInput="新建文件.txt";
    51. QLineEdit::EchoMode echoMode=QLineEdit::Normal;//正常文字输入
    52. // QLineEdit::EchoMode echoMode=QLineEdit::Password;//密码输入
    53. bool ok=false;
    54. QString text = QInputDialog::getText(this, dlgTitle,txtLabel, echoMode,defaultInput, &ok);
    55. if (ok && !text.isEmpty())
    56. ui->plainTextEdit->appendPlainText(text);
    57. }

    消息对话框

    1. void Dialog::on_btnMsgQuestion_clicked()
    2. {
    3. QString dlgTitle="Question消息框";
    4. QString strInfo="文件已被修改,是否保存修改?";
    5. QMessageBox::StandardButton defaultBtn=QMessageBox::NoButton; //缺省按钮
    6. QMessageBox::StandardButton result;//返回选择的按钮
    7. result=QMessageBox::question(this, dlgTitle, strInfo,
    8. QMessageBox::Yes|QMessageBox::No |QMessageBox::Cancel,
    9. defaultBtn);
    10. if (result==QMessageBox::Yes)
    11. ui->plainTextEdit->appendPlainText("Question消息框: Yes 被选择");
    12. else if(result==QMessageBox::No)
    13. ui->plainTextEdit->appendPlainText("Question消息框: No 被选择");
    14. else if(result==QMessageBox::Cancel)
    15. ui->plainTextEdit->appendPlainText("Question消息框: Cancel 被选择");
    16. else
    17. ui->plainTextEdit->appendPlainText("Question消息框: 无选择");
    18. }
    19. void Dialog::on_btnMsgInformation_clicked()
    20. {
    21. QString dlgTitle="information消息框";
    22. QString strInfo="文件已经打开,字体大小已设置";
    23. // QMessageBox::information(this, dlgTitle, strInfo);//使用缺省的按钮
    24. QMessageBox::information(this, dlgTitle, strInfo,
    25. QMessageBox::Ok,QMessageBox::NoButton);
    26. }
    27. void Dialog::on_btnMsgWarning_clicked()
    28. {
    29. QString dlgTitle="warning 消息框";
    30. QString strInfo="文件内容已经被修改";
    31. QMessageBox::warning(this, dlgTitle, strInfo);
    32. }
    33. void Dialog::on_btnMsgCritical_clicked()
    34. {
    35. QString dlgTitle="critical消息框";
    36. QString strInfo="有不明程序访问网络";
    37. QMessageBox::critical(this, dlgTitle, strInfo);
    38. }
    39. void Dialog::on_btnMsgAbout_clicked()
    40. {
    41. QString dlgTitle="about消息框";
    42. QString strInfo="我开发的数据查看软件 V1.0 \n 保留所有版权";
    43. QMessageBox::about(this, dlgTitle, strInfo);
    44. }
    45. void Dialog::on_btnMsgAboutQt_clicked()
    46. {
    47. QString dlgTitle="aboutQt消息框";
    48. QMessageBox::aboutQt(this, dlgTitle);
    49. }

  • 相关阅读:
    设计模式之生产者/消费者模式
    算法设计与分析之算法绪论
    离职总结(2022-9-5)
    Maven右侧子项目maven变成灰色
    当前视频分析【video analytics】都有哪些痛点?为什么难以落地?
    以程序员的身份使用curl获取速卖通详情
    Ubuntu20.04 中已经安装 Pytorch 但 Import 报错 - 解决记录
    windows c++ 输出所有服务列表,并判断是否是开机启动项
    大数据----Hadoop与数据仓库
    html+css实现全局固定位置悬浮的菜单
  • 原文地址:https://blog.csdn.net/weixin_38241876/article/details/134224250