WindowAppPouDebugView.cpp 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. #include "WindowAppPouDebugView.h"
  2. #include <QDateTime>
  3. #define TABROWCOUNT 99
  4. WindowAppPouDebugView::WindowAppPouDebugView(QWidget *parent)
  5. : QWidget(parent)
  6. {
  7. ui.setupUi(this);
  8. // 显示控件初始化
  9. try
  10. {
  11. hwndUnit = new HWndUnit(this);
  12. Util::ShowUnitInWidget(ui.Disp, hwndUnit);
  13. QString strPath = QCoreApplication::applicationDirPath() + "/Test.jpg";
  14. m_Image.ReadImage(strPath.toStdString().c_str());
  15. hwndUnit->ShowImage(m_Image);
  16. hwndUnit->Refresh(false);
  17. }
  18. catch (HException& exception)
  19. {
  20. char m_szMsg[2048] = "";
  21. snprintf(m_szMsg, sizeof(m_szMsg), "Error #%u in %s: %s", exception.ErrorCode(),
  22. exception.ProcName().TextA(),
  23. exception.ErrorMessage().TextA());
  24. qWarning() << m_szMsg;
  25. }
  26. QStringList headerTextList;
  27. headerTextList << QStringLiteral("Name") << QStringLiteral("Value");
  28. ui.tableWidget->setColumnCount(2);
  29. ui.tableWidget->setHorizontalHeaderLabels(headerTextList);
  30. ui.tableWidget->verticalHeader()->setDefaultSectionSize(10);
  31. //设置选中一行
  32. ui.tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows);
  33. //禁止编辑
  34. ui.tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);
  35. ui.tableWidget->setRowCount(TABROWCOUNT);
  36. }
  37. WindowAppPouDebugView::~WindowAppPouDebugView()
  38. {
  39. }
  40. void WindowAppPouDebugView::Clear()
  41. {
  42. for (int i = 0; i < TABROWCOUNT; i++)
  43. {
  44. ui.tableWidget->setItem(i, 0, new QTableWidgetItem(""));
  45. ui.tableWidget->setItem(i, 1, new QTableWidgetItem(""));
  46. }
  47. }
  48. void WindowAppPouDebugView::UpdataDebugData(DebugData data)
  49. {
  50. try
  51. {
  52. Clear();
  53. for (int i = 0; i < data.getDebugLogSize(); i++)
  54. {
  55. ST_DebugLog log = data.getDebugLog(i);
  56. ui.tableWidget->setItem(i, 0, new QTableWidgetItem(log.strName));
  57. ui.tableWidget->setItem(i, 1, new QTableWidgetItem(log.strLog));
  58. }
  59. hwndUnit->ShowImage(data.getImage());
  60. for (int i = 0; i < data.getDisplaySize(); i++)
  61. {
  62. ST_Display disp = data.getDisplay(i);
  63. hwndUnit->ShowObj(disp.ho_Obj, disp.Color, /*disp.fTransparency,*/ disp.nLinsWhite);
  64. }
  65. for (int i = 0; i < data.getMessageSize(); i++)
  66. {
  67. ST_Message msg = data.getMessage(i);
  68. hwndUnit->ShowMsg(msg.hv_Msg, msg.Color, msg.nX, msg.nY, msg.nMsgSize);
  69. }
  70. hwndUnit->Refresh(false);
  71. }
  72. catch (HException& exception)
  73. {
  74. char m_szMsg[2048] = "";
  75. snprintf(m_szMsg, sizeof(m_szMsg), "Error #%u in %s: %s\n", exception.ErrorCode(),
  76. exception.ProcName().TextA(),
  77. exception.ErrorMessage().TextA());
  78. qWarning() << m_szMsg;
  79. }
  80. }
  81. /// <summary>
  82. /// 调整大小的消息中改变表格栏的宽度
  83. /// </summary>
  84. /// <param name="event"></param>
  85. void WindowAppPouDebugView::resizeEvent(QResizeEvent* event)
  86. {
  87. Q_UNUSED(event);
  88. // qDebug() << "WindowAppPouDebugView::resizeEvent";
  89. int nTotalSize = ui.tableWidget->size().width();
  90. ui.tableWidget->setColumnWidth(0, nTotalSize * 0.2);
  91. ui.tableWidget->setColumnWidth(1, nTotalSize * 0.8);
  92. }