Files
chenzhen 222dda1e43 1,新增“App_ThermalImageSystem”;
2,新增“Apps”;
3,新增“Common”;
4,新增“FileList”;
5,新增“MediaX”;
6,新增“OpenSource”;
7,新增“Samples”;
8,新增“SoftwareBusinessLines”.
2026-02-14 23:03:23 +08:00

129 lines
3.1 KiB
C++
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
//#include "AsioWrapper/AsioWrapper.h"
//#include "AsioWrapper/NetworkToolset.h"
//using namespace network_toolset;
#include <thread>
using namespace std;
#include <QMainWindow>
#include <QComboBox>
#include <QTimer>
#include <QStandardItemModel>
#include "StatusFrame.h"
#include "GuiInvoker.h"
namespace Ui
{
class MainWindow;
}
#ifndef __byte_def__
#define __byte_def__
typedef unsigned char BYTE, Byte, byte;
#endif
/*
* 并联电阻结构体
*/
typedef struct tagResistance_UnifiedNode
{
double dResistance_R_0; // 并联电阻0
double dResistance_R_1; // 并联电阻1
bool bUnified; // 是否为并联电阻节点
} Resistance_UnifiedNode;
enum eMatchMode
{
eMatchMode1 = 1, // 匹配模式1分压电阻模式
eMatchMode2 = 2, // 匹配模式2电源输出模式
eMatchMode3 = 3, // 匹配模式3并联电阻模式
};
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget* parent = 0);
~MainWindow();
private:
void Connect();
void Disconnect();
void DoMatchMode1_NonUnified();
void DoMatchMode1_Unified();
void DoMatchMode2_NonUnified();
void DoMatchMode2_Unified();
void DoMatchMode3();
void ResetItemData();
void SetItemData(int nItemIndex,
const QString& strModeType_R1_0, double dValue_R1_0,
const QString& strModeType_R1_1, double dValue_R1_1,
const QString& strModeType_R2_0, double dValue_R2_0,
const QString& strModeType_R2_1, double dValue_R2_1,
double dMatchResult);
void UpdateTableViewHeader(eMatchMode eMode);
static void OnUpdateUI(void* pParams, void* pOwner);
void DoUpdateUI(void* pParams);
protected:
virtual void resizeEvent(QResizeEvent* event);
virtual bool eventFilter(QObject* obj, QEvent* event);
private slots:
void OnButtonClicked();
void OnCurrentIndexChanged(int nIndex);
void OnResetItemData();
void OnTimer();
private:
void InitStyle();
private:
typedef bool (MainWindow::* pCallback_ThreadFun)();
static void ThreadEntry(pCallback_ThreadFun pThreadFun, void* pOwner);
private:
Ui::MainWindow* ui;
QPoint m_ptMouse;
bool m_bMousePressed;
const int m_nDisplayCount_Max = 200;
eMatchMode m_eMatchMode;
///
std::shared_ptr<QStandardItemModel> m_pDataModel_MatchResult;
bool m_bThreadRunning_RecvCmd;
std::thread* m_pThread_RecvCmd;
//std::mutex m_mutex_IPAddr;
//
QTimer m_varTimer_UpdateStatus;
bool m_bUpdateStatus;
int m_nTryCount_UpdateStatus;
///
StatusFrame* m_pStatusFrame;
QByteArrayList m_listMsgData;
std::shared_ptr<GuiInvoker> m_ptrGuiInvoker_RecvData;
std::shared_ptr<GuiInvoker> m_ptrGuiInvoker_Disconnect;
};
#endif // MAINWINDOW_H