Files
ds-628/HanddleAI/QtSendPLC.h
T
2024-10-17 16:37:42 +08:00

59 lines
1.4 KiB
C++

#pragma once
#include <QtWidgets/QMainWindow>
#include "ui_QtSendPLC.h"
#include "qobject.h"
#include "qapplication.h"
#include "qjsonobject.h"
#include "qjsonarray.h"
#include "qjsondocument.h"
#include "QLibrary.h"
#include "QMetaType.h"
#include "QDateTime.h"
#include "QThread.h"
#include "QMutex.h"
#include "QDebug.h"
#include "QQueue.h"
#include "QMap.h"
#include "QMouseEvent"
class QtSendPLC : public QMainWindow
{
Q_OBJECT
public:
QtSendPLC(QWidget *parent = nullptr);
~QtSendPLC();
void setData(QJsonArray qjsonArray);
private:
Ui::QtSendPLCClass ui;
QQueue<QPushButton*> sendPLCbuttonS;
QQueue<QLabel*> sendPLCQLabelS;
QStringList sendPLCcmd;
QMap< QPushButton*, int> sendPLCbuttonS_index;
clock_t pressStart, pressStop;
int max_row = 0;
int maxCol = 0;
signals:
void sendPLC(QString cmd);
protected:
void mouseMoveEvent(QMouseEvent* event) override;
void mousePressEvent(QMouseEvent* event) override;
void mouseReleaseEvent(QMouseEvent* event) override;
private:
QPoint m_lastPos;
public:
enum MousePoss { LeftUp = 0, Up, RightUp, Right, RightDown, Down, LeftDown, Left, Middle };
private:
MousePoss mp_curPos; //记录鼠标当前所在区域的变量
//改变窗口的大小
void changeWindowSize(MousePoss type, QRect& wid, QPoint ptemp, int minWidth, int minHeight);
//修改鼠标样式
void setCursorType(MousePoss type);
//计算鼠标位置
MousePoss calcmouseposs(QPoint p);
};