DialogForLoop.cpp 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. #include "DialogForLoop.h"
  2. DialogForLoop::DialogForLoop(int size, int index, QWidget *parent)
  3. : QDialog(parent)
  4. , m_nSize(size)
  5. , m_nIndex(index)
  6. {
  7. ui.setupUi(this);
  8. // 对话框初始化
  9. this->initUI();
  10. }
  11. DialogForLoop::~DialogForLoop()
  12. {
  13. }
  14. /// <summary>
  15. /// 对话框初始化
  16. /// </summary>
  17. void DialogForLoop::initUI()
  18. {
  19. this->setWindowTitle(("ForLoop Option"));
  20. // 设置对话框风格
  21. this->setAttribute(Qt::WA_QuitOnClose);
  22. this->setWindowModality(Qt::ApplicationModal);
  23. // 设置输出接口Index控件不可编辑
  24. ui.editIndex->setReadOnly(true);
  25. // 初始化Size控件
  26. ui.editSize->setText(QString::number(m_nSize));
  27. // 初始化Index控件
  28. ui.editIndex->setText(QString::number(m_nIndex));
  29. // 槽函数
  30. connect(ui.okButton, SIGNAL(clicked()), this, SLOT(onButtonOKClicked()));
  31. connect(ui.cancelButton, SIGNAL(clicked()), this, SLOT(reject()));
  32. // 设置固定窗体大小
  33. this->setFixedSize(363, 216);
  34. }
  35. /// <summary>
  36. /// OK按钮
  37. /// </summary>
  38. void DialogForLoop::onButtonOKClicked()
  39. {
  40. if (ui.editSize->text().isEmpty())
  41. {
  42. CRITICAL_MESSAGE("Please set forloop size first!");
  43. return;
  44. }
  45. // 获取用户输入
  46. m_nSize = ui.editSize->text().toInt();
  47. // 检查用户输入是否有效
  48. if (m_nSize <= 0)
  49. {
  50. CRITICAL_MESSAGE("Invalid ForLoop size!");
  51. return;
  52. }
  53. this->accept();
  54. }