ToolDialog.cpp 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. #include "ToolDialog.h"
  2. #include <QImage>
  3. #include <QFileInfo>
  4. #include <QFileDialog>
  5. #include <QElapsedTimer>
  6. #include <QGridLayout>
  7. ToolDialogImpl::ToolDialogImpl(QWidget *parent)
  8. : DllToolDialog(parent)
  9. {
  10. ui.setupUi(this);
  11. this->setWindowFlags(Qt::Dialog | Qt::WindowMaximizeButtonHint | Qt::WindowCloseButtonHint /*| Qt::WindowStaysOnTopHint*/);
  12. connect(this, SIGNAL(sigUpdateUI()), this, SLOT(on_UpdateUI()));
  13. m_pCamera = nullptr;
  14. }
  15. ToolDialogImpl::~ToolDialogImpl()
  16. {
  17. }
  18. VPEnum::RETURN_VALUE ToolDialogImpl::Execute()
  19. {
  20. emit sigUpdateUI();
  21. return VPEnum::RETURN_VALUE::Success;
  22. }
  23. void ToolDialogImpl::Running(bool bRun)
  24. {
  25. }
  26. bool ToolDialogImpl::Serialized(QDataStream& ar, bool bIsOut)
  27. {
  28. int m_Value = 0;
  29. int paranum;//参数数量
  30. if (bIsOut)//保存参数流程
  31. {
  32. paranum = 1;
  33. ar << paranum;//先保存参数数量
  34. ar << (int)1 << m_Value;
  35. }
  36. else//加载参数流程,参数加载顺序一定要跟保存顺序一致
  37. {
  38. int nSize1 = 0;
  39. int para;
  40. ar >> paranum;//读取参数数量
  41. for (int i = 0; i < paranum; i++)
  42. {
  43. ar >> para;
  44. switch (para)
  45. {
  46. case 1: ar >> m_Value; break;
  47. default:
  48. {
  49. qWarning() << "Serialized(In) Error" ;
  50. return false;
  51. }
  52. break;
  53. }
  54. }
  55. //hwndUnit->getHWndCtrl()->useROIController(&roiController);
  56. }
  57. return true;
  58. }
  59. void ToolDialogImpl::on_UpdateUI()
  60. {
  61. }
  62. /// <summary>
  63. /// 确定
  64. /// </summary>
  65. void ToolDialogImpl::on_btnOK_clicked()
  66. {
  67. this->hide();
  68. }
  69. /// <summary>
  70. /// 取消按钮
  71. /// </summary>
  72. void ToolDialogImpl::on_btnCancel_clicked()
  73. {
  74. // 将本工具的恢复到打开工具之前的状态
  75. RecoverData();
  76. }
  77. /// <summary>
  78. /// 测试按钮
  79. /// </summary>
  80. void ToolDialogImpl::on_btnExecute_clicked()
  81. {
  82. QElapsedTimer toolTimer;
  83. toolTimer.start();
  84. VPEnum::RETURN_VALUE ret = this->Execute();
  85. double nExecTime = toolTimer.elapsed();
  86. QString str;
  87. str = QString("耗时: %1 ms").arg(nExecTime, 0, 'G', 5);
  88. ui.label_time->setText(str);
  89. str = QString("状态: %1 ").arg(QMetaEnum::fromType<VPEnum::RETURN_VALUE>().key((short)ret));
  90. ui.label_state->setText(str);
  91. }
  92. void ToolDialogImpl::on_btn_Config_clicked()
  93. {
  94. if (m_pCamera)
  95. {
  96. m_pCamera->showParamConfigWindow();
  97. }
  98. }