update #3
This commit is contained in:
@@ -3,6 +3,8 @@
|
|||||||
ClockCounter::ClockCounter(QWidget *parent) : QMainWindow(parent)
|
ClockCounter::ClockCounter(QWidget *parent) : QMainWindow(parent)
|
||||||
{
|
{
|
||||||
ui.setupUi(this);
|
ui.setupUi(this);
|
||||||
|
PreClickCount = 0;
|
||||||
|
PreClickPosition = QPoint(0, 0);
|
||||||
ui.SpliterHourMinute->Init(UDateTimeSpliter::Type::Time);
|
ui.SpliterHourMinute->Init(UDateTimeSpliter::Type::Time);
|
||||||
ui.SpliterMinuteSecond->Init(UDateTimeSpliter::Type::Time);
|
ui.SpliterMinuteSecond->Init(UDateTimeSpliter::Type::Time);
|
||||||
ui.SpliterSecondMS->Init(UDateTimeSpliter::Type::Dots);
|
ui.SpliterSecondMS->Init(UDateTimeSpliter::Type::Dots);
|
||||||
@@ -11,7 +13,9 @@ ClockCounter::ClockCounter(QWidget *parent) : QMainWindow(parent)
|
|||||||
connect(ui.BtnGetPreclickPos, &QPushButton::clicked, this, &ClockCounter::ShowPreClickWindow);
|
connect(ui.BtnGetPreclickPos, &QPushButton::clicked, this, &ClockCounter::ShowPreClickWindow);
|
||||||
connect(ui.BtnClearPreclickPos, &QPushButton::clicked, this, &ClockCounter::ClearPreClickInfo);
|
connect(ui.BtnClearPreclickPos, &QPushButton::clicked, this, &ClockCounter::ClearPreClickInfo);
|
||||||
connect(&CountTimer, &QTimer::timeout, this, &ClockCounter::CountCallback);
|
connect(&CountTimer, &QTimer::timeout, this, &ClockCounter::CountCallback);
|
||||||
|
connect(&WindowUpdater, &QTimer::timeout, this, &ClockCounter::WindowUpdateCallback);
|
||||||
CountTimer.setInterval(1);
|
CountTimer.setInterval(1);
|
||||||
|
WindowUpdater.setInterval(50);
|
||||||
CountTime = 0;
|
CountTime = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -44,11 +48,17 @@ void ClockCounter::ShowPreClickWindow()
|
|||||||
pre_click_window.show();
|
pre_click_window.show();
|
||||||
pre_click_window.activateWindow();
|
pre_click_window.activateWindow();
|
||||||
pre_click_window.setWindowState((pre_click_window.windowState() & ~Qt::WindowMinimized) | Qt::WindowActive);
|
pre_click_window.setWindowState((pre_click_window.windowState() & ~Qt::WindowMinimized) | Qt::WindowActive);
|
||||||
|
this->hide();
|
||||||
|
WindowUpdater.start();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ClockCounter::ClearPreClickInfo()
|
void ClockCounter::ClearPreClickInfo()
|
||||||
{
|
{
|
||||||
|
PreClickCount = 0;
|
||||||
|
PreClickPosition = QPoint(0, 0);
|
||||||
|
this->setWindowTitle("软件执行计时器");
|
||||||
|
MessageBox(NULL, L"预点击坐标已清空", L"提示", MB_OK | MB_ICONINFORMATION);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ClockCounter::CountCallback()
|
void ClockCounter::CountCallback()
|
||||||
@@ -69,3 +79,20 @@ void ClockCounter::CountCallback()
|
|||||||
ui.NumMillSec03->setNumber((millsecond % 100) % 10);
|
ui.NumMillSec03->setNumber((millsecond % 100) % 10);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ClockCounter::WindowUpdateCallback()
|
||||||
|
{
|
||||||
|
if (!pre_click_window.isVisible())
|
||||||
|
{
|
||||||
|
WindowUpdater.stop();
|
||||||
|
this->show();
|
||||||
|
this->activateWindow();
|
||||||
|
this->setWindowState((this->windowState() & ~Qt::WindowMinimized) | Qt::WindowActive);
|
||||||
|
if (pre_click_window.GetWindowStatus())
|
||||||
|
{
|
||||||
|
PreClickCount = pre_click_window.GetClickCount();
|
||||||
|
PreClickPosition = pre_click_window.GetCursorPosition();
|
||||||
|
this->setWindowTitle("软件执行计时器: 预点击指令已激活");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -20,10 +20,14 @@ public slots:
|
|||||||
void ShowPreClickWindow();
|
void ShowPreClickWindow();
|
||||||
void ClearPreClickInfo();
|
void ClearPreClickInfo();
|
||||||
void CountCallback();
|
void CountCallback();
|
||||||
|
void WindowUpdateCallback();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
time_t CountTime;
|
time_t CountTime;
|
||||||
|
int PreClickCount;
|
||||||
QTimer CountTimer;
|
QTimer CountTimer;
|
||||||
|
QTimer WindowUpdater;
|
||||||
|
QPoint PreClickPosition;
|
||||||
Ui::ClockCounterClass ui;
|
Ui::ClockCounterClass ui;
|
||||||
PreClick pre_click_window;
|
PreClick pre_click_window;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -2,16 +2,40 @@
|
|||||||
|
|
||||||
PreClick::PreClick(QWidget* parent) : QMainWindow(parent)
|
PreClick::PreClick(QWidget* parent) : QMainWindow(parent)
|
||||||
{
|
{
|
||||||
|
ClickCount = 1;
|
||||||
|
WindowStatus = false;
|
||||||
|
CursorPosition = QPoint(0, 0);
|
||||||
ui.setupUi(this);
|
ui.setupUi(this);
|
||||||
|
ui.ClickCount->setValue(1);
|
||||||
|
ui.ClickCount->setMinimum(1);
|
||||||
|
ui.ClickCount->setMaximum(10);
|
||||||
connect(ui.BtnGetPos, &QPushButton::clicked, this, &PreClick::StartCursorTrack);
|
connect(ui.BtnGetPos, &QPushButton::clicked, this, &PreClick::StartCursorTrack);
|
||||||
|
connect(ui.BtnOK, &QPushButton::clicked, this, &PreClick::OnBnClickedOK);
|
||||||
|
connect(ui.BtnCancel, &QPushButton::clicked, this, &PreClick::OnBnClickedCancel);
|
||||||
connect(&CursorUpdate, &QTimer::timeout, this, &PreClick::UpdateCursorPosition);
|
connect(&CursorUpdate, &QTimer::timeout, this, &PreClick::UpdateCursorPosition);
|
||||||
CursorUpdate.setInterval(50);
|
CursorUpdate.setInterval(50);
|
||||||
|
this->grabKeyboard();
|
||||||
}
|
}
|
||||||
|
|
||||||
PreClick::~PreClick()
|
PreClick::~PreClick()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool PreClick::GetWindowStatus()
|
||||||
|
{
|
||||||
|
return WindowStatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
int PreClick::GetClickCount()
|
||||||
|
{
|
||||||
|
return ClickCount;
|
||||||
|
}
|
||||||
|
|
||||||
|
QPoint PreClick::GetCursorPosition()
|
||||||
|
{
|
||||||
|
return CursorPosition;
|
||||||
|
}
|
||||||
|
|
||||||
void PreClick::UpdateCursorPosition()
|
void PreClick::UpdateCursorPosition()
|
||||||
{
|
{
|
||||||
POINT point;
|
POINT point;
|
||||||
@@ -29,7 +53,36 @@ void PreClick::StartCursorTrack()
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
CursorUpdate.stop();
|
CursorUpdate.start();
|
||||||
ui.BtnGetPos->setText("停止获取");
|
ui.BtnGetPos->setText("停止获取");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void PreClick::OnBnClickedOK()
|
||||||
|
{
|
||||||
|
CursorPosition = QPoint(ui.PosX->toPlainText().toInt(), ui.PosY->toPlainText().toInt());
|
||||||
|
ClickCount = ui.ClickCount->value();
|
||||||
|
WindowStatus = true;
|
||||||
|
this->hide();
|
||||||
|
}
|
||||||
|
|
||||||
|
void PreClick::OnBnClickedCancel()
|
||||||
|
{
|
||||||
|
WindowStatus = false;
|
||||||
|
this->hide();
|
||||||
|
}
|
||||||
|
|
||||||
|
void PreClick::keyPressEvent(QKeyEvent* event)
|
||||||
|
{
|
||||||
|
if ((event->key() == Qt::Key_Space) && CursorUpdate.isActive())
|
||||||
|
{
|
||||||
|
CursorUpdate.stop();
|
||||||
|
ui.BtnGetPos->setText("获取坐标");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void PreClick::closeEvent(QCloseEvent* event)
|
||||||
|
{
|
||||||
|
this->hide();
|
||||||
|
event->ignore();
|
||||||
|
}
|
||||||
|
|||||||
@@ -3,6 +3,8 @@
|
|||||||
#include "ui_PreClick.h"
|
#include "ui_PreClick.h"
|
||||||
#include <QTimer>
|
#include <QTimer>
|
||||||
#include <Windows.h>
|
#include <Windows.h>
|
||||||
|
#include <QKeyEvent>
|
||||||
|
#include <QCloseEvent>
|
||||||
|
|
||||||
class PreClick : public QMainWindow
|
class PreClick : public QMainWindow
|
||||||
{
|
{
|
||||||
@@ -12,12 +14,26 @@ public:
|
|||||||
PreClick(QWidget* parent = nullptr);
|
PreClick(QWidget* parent = nullptr);
|
||||||
~PreClick();
|
~PreClick();
|
||||||
|
|
||||||
|
public:
|
||||||
|
bool GetWindowStatus();
|
||||||
|
int GetClickCount();
|
||||||
|
QPoint GetCursorPosition();
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void UpdateCursorPosition();
|
void UpdateCursorPosition();
|
||||||
void StartCursorTrack();
|
void StartCursorTrack();
|
||||||
|
void OnBnClickedOK();
|
||||||
|
void OnBnClickedCancel();
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void keyPressEvent(QKeyEvent* event) override;
|
||||||
|
void closeEvent(QCloseEvent* event) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QTimer CursorUpdate;
|
QTimer CursorUpdate;
|
||||||
Ui::PreClickWindow ui;
|
Ui::PreClickWindow ui;
|
||||||
|
QPoint CursorPosition;
|
||||||
|
int ClickCount;
|
||||||
|
bool WindowStatus;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ private:
|
|||||||
QColor TextColor2;
|
QColor TextColor2;
|
||||||
QColor Background1;
|
QColor Background1;
|
||||||
QColor Background2;
|
QColor Background2;
|
||||||
const int DotSpace = 20;
|
const int DotSpace = 14;
|
||||||
const int DateSpace = 20;
|
const int DateSpace = 20;
|
||||||
const int TimeSpace = 20;
|
const int TimeSpace = 20;
|
||||||
const int DateSpliterLineSize = 10;
|
const int DateSpliterLineSize = 10;
|
||||||
|
|||||||
Reference in New Issue
Block a user