dialogsubmitresponsedetail.cpp 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. #include "dialogsubmitresponsedetail.h"
  2. #include "ui_dialogsubmitresponsedetail.h"
  3. #include <QtGui>
  4. DialogSubmitResponseDetail::DialogSubmitResponseDetail(QWidget *parent) :
  5. QDialog(parent),
  6. ui(new Ui::DialogSubmitResponseDetail)
  7. {
  8. ui->setupUi(this);
  9. ui->buttonBox->button(QDialogButtonBox::Ok)->setText("复制");
  10. ui->buttonBox->button(QDialogButtonBox::Cancel)->setText("关闭");
  11. connect(ui->buttonBox,SIGNAL(accepted()),this,SLOT(onCopy()));
  12. }
  13. void DialogSubmitResponseDetail::setDetailText(QString str)
  14. {
  15. str = str.replace("\\r\\n","\r\n");
  16. QStringList list = str.split("\r\n");
  17. //获取日期时间
  18. QString date,time,detail,valid,invalid,black,remark,diaplay;
  19. if(list.size()>0)
  20. {
  21. date= list.at(0).mid(1,10);
  22. time = list.at(0).mid(12,8);
  23. detail = list.at(0).mid(22,list.at(0).size()-22);
  24. detail = detail.split("[").at(0);
  25. }
  26. else
  27. {
  28. date = "N/A";
  29. time = "N/A";
  30. detail = "N/A";
  31. }
  32. //获取号码总数
  33. QStringList numbers;
  34. QString line;
  35. if(list.size()>1)
  36. {
  37. line = list.at(1);
  38. }
  39. else if(list.size()==1)
  40. {
  41. line = list.at(0).mid(22,list.at(0).size()-22);
  42. }
  43. int count = 0;
  44. int pos = 0;
  45. QRegExp rx("\\d+");
  46. while ((pos = rx.indexIn(line, pos)) != -1)
  47. {
  48. ++count;
  49. pos += rx.matchedLength();
  50. numbers.append(rx.capturedTexts().at(0));
  51. }
  52. if(numbers.size()!=3)
  53. {
  54. valid = numbers.at(0);
  55. invalid = "0";
  56. black = "0";
  57. }
  58. else
  59. {
  60. valid = numbers.at(0);
  61. invalid = numbers.at(1);
  62. black = numbers.at(2);
  63. }
  64. // //获取备注信息
  65. // if(list.size()>2)
  66. // remark = list.at(2);
  67. // else
  68. // remark = "以下是无效号码列表:(数量:0)";
  69. ui->labelDate->setText(date);
  70. ui->labelTime->setText(time);
  71. ui->labelTotalValid->setText(valid);
  72. ui->labelTotalInvalid->setText(invalid);
  73. ui->labelBlack->setText(black);
  74. ui->labelResult->setText(detail);
  75. //ui->labelRemark->setText(remark);
  76. QString display;
  77. for(int i=2;i<list.size();i++)
  78. {
  79. display += list.at(i) + "\r\n";
  80. }
  81. ui->textBrowser->setText(display);
  82. // this->setSizePolicy(QSizePolicy::Fixed,QSizePolicy::Fixed);
  83. // this->setMinimumHeight(this->height());
  84. // this->setMaximumHeight(this->height());
  85. // this->setMinimumWidth(this->width());
  86. // this->setMaximumWidth(this->width());
  87. }
  88. DialogSubmitResponseDetail::~DialogSubmitResponseDetail()
  89. {
  90. delete ui;
  91. }
  92. void DialogSubmitResponseDetail::onCopy()
  93. {
  94. QClipboard *board = QApplication::clipboard();
  95. board->setText(ui->textBrowser->toPlainText());
  96. QMessageBox::information(this,"完成","无效号码已经复制到剪贴板!",QMessageBox::Ok);
  97. }