#include "WindowAppPouDebugView.h" #include #define TABROWCOUNT 99 WindowAppPouDebugView::WindowAppPouDebugView(QWidget *parent) : QWidget(parent) { ui.setupUi(this); // 显示控件初始化 try { hwndUnit = new HWndUnit(this); Util::ShowUnitInWidget(ui.Disp, hwndUnit); QString strPath = QCoreApplication::applicationDirPath() + "/Test.jpg"; m_Image.ReadImage(strPath.toStdString().c_str()); hwndUnit->ShowImage(m_Image); hwndUnit->Refresh(false); } catch (HException& exception) { char m_szMsg[2048] = ""; snprintf(m_szMsg, sizeof(m_szMsg), "Error #%u in %s: %s", exception.ErrorCode(), exception.ProcName().TextA(), exception.ErrorMessage().TextA()); qWarning() << m_szMsg; } QStringList headerTextList; headerTextList << QStringLiteral("Name") << QStringLiteral("Value"); ui.tableWidget->setColumnCount(2); ui.tableWidget->setHorizontalHeaderLabels(headerTextList); ui.tableWidget->verticalHeader()->setDefaultSectionSize(10); //设置选中一行 ui.tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows); //禁止编辑 ui.tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers); ui.tableWidget->setRowCount(TABROWCOUNT); } WindowAppPouDebugView::~WindowAppPouDebugView() { } void WindowAppPouDebugView::Clear() { for (int i = 0; i < TABROWCOUNT; i++) { ui.tableWidget->setItem(i, 0, new QTableWidgetItem("")); ui.tableWidget->setItem(i, 1, new QTableWidgetItem("")); } } void WindowAppPouDebugView::UpdataDebugData(DebugData data) { try { Clear(); for (int i = 0; i < data.getDebugLogSize(); i++) { ST_DebugLog log = data.getDebugLog(i); ui.tableWidget->setItem(i, 0, new QTableWidgetItem(log.strName)); ui.tableWidget->setItem(i, 1, new QTableWidgetItem(log.strLog)); } hwndUnit->ShowImage(data.getImage()); for (int i = 0; i < data.getDisplaySize(); i++) { ST_Display disp = data.getDisplay(i); hwndUnit->ShowObj(disp.ho_Obj, disp.Color, /*disp.fTransparency,*/ disp.nLinsWhite); } for (int i = 0; i < data.getMessageSize(); i++) { ST_Message msg = data.getMessage(i); hwndUnit->ShowMsg(msg.hv_Msg, msg.Color, msg.nX, msg.nY, msg.nMsgSize); } hwndUnit->Refresh(false); } catch (HException& exception) { char m_szMsg[2048] = ""; snprintf(m_szMsg, sizeof(m_szMsg), "Error #%u in %s: %s\n", exception.ErrorCode(), exception.ProcName().TextA(), exception.ErrorMessage().TextA()); qWarning() << m_szMsg; } } /// /// 调整大小的消息中改变表格栏的宽度 /// /// void WindowAppPouDebugView::resizeEvent(QResizeEvent* event) { Q_UNUSED(event); // qDebug() << "WindowAppPouDebugView::resizeEvent"; int nTotalSize = ui.tableWidget->size().width(); ui.tableWidget->setColumnWidth(0, nTotalSize * 0.2); ui.tableWidget->setColumnWidth(1, nTotalSize * 0.8); }