master
UnknownObject 3 years ago
parent 99b5ad0cb9
commit 3cb8a6806a

@ -1,4 +1,4 @@
#include "ClockCounter.h"
#include "ClockCounter.h"
ClockCounter::ClockCounter(QWidget *parent) : QMainWindow(parent)
{
@ -6,8 +6,66 @@ ClockCounter::ClockCounter(QWidget *parent) : QMainWindow(parent)
ui.SpliterHourMinute->Init(UDateTimeSpliter::Type::Time);
ui.SpliterMinuteSecond->Init(UDateTimeSpliter::Type::Time);
ui.SpliterSecondMS->Init(UDateTimeSpliter::Type::Dots);
connect(ui.BtnStartTimer, &QPushButton::clicked, this, &ClockCounter::StartTimer);
connect(ui.BtnStopTimer, &QPushButton::clicked, this, &ClockCounter::StopTimer);
connect(ui.BtnGetPreclickPos, &QPushButton::clicked, this, &ClockCounter::ShowPreClickWindow);
connect(ui.BtnClearPreclickPos, &QPushButton::clicked, this, &ClockCounter::ClearPreClickInfo);
connect(&CountTimer, &QTimer::timeout, this, &ClockCounter::CountCallback);
CountTimer.setInterval(1);
CountTime = 0;
}
ClockCounter::~ClockCounter()
{
}
void ClockCounter::StartTimer()
{
if (CountTime != 0)
{
ui.BtnStartTimer->setText("开始计时");
CountTime = -1;
CountCallback();
}
else
CountTimer.start();
}
void ClockCounter::StopTimer()
{
CountTimer.stop();
ui.BtnStartTimer->setText("重置计时器");
}
void ClockCounter::ShowPreClickWindow()
{
if (!pre_click_window.isActiveWindow())
{
pre_click_window.show();
pre_click_window.activateWindow();
pre_click_window.setWindowState((pre_click_window.windowState() & ~Qt::WindowMinimized) | Qt::WindowActive);
}
}
void ClockCounter::ClearPreClickInfo()
{
}
void ClockCounter::CountCallback()
{
CountTime++;
int hour = (CountTime / 1000) / 3600;
int minute = ((CountTime / 1000) / 60) - (hour * 60);
int second = (CountTime / 1000) - (hour * 3600) - (minute * 60);
int millsecond = CountTime - (hour * 3600 * 1000) - (minute * 60 * 1000) - (second * 1000);
ui.NumHour01->setNumber(hour / 10);
ui.NumHour02->setNumber(hour % 10);
ui.NumMinute01->setNumber(minute / 10);
ui.NumMinute02->setNumber(minute % 10);
ui.NumSecond01->setNumber(second / 10);
ui.NumSecond02->setNumber(second % 10);
ui.NumMillSec01->setNumber(millsecond / 100);
ui.NumMillSec02->setNumber((millsecond / 10) % 10);
ui.NumMillSec03->setNumber((millsecond % 100) % 10);
return;
}

@ -2,6 +2,9 @@
#include <QtWidgets/QMainWindow>
#include "ui_ClockCounter.h"
#include "PreClick.h"
#include <QTimer>
#include <QTime>
class ClockCounter : public QMainWindow
{
@ -11,6 +14,16 @@ public:
ClockCounter(QWidget *parent = nullptr);
~ClockCounter();
public slots:
void StartTimer();
void StopTimer();
void ShowPreClickWindow();
void ClearPreClickInfo();
void CountCallback();
private:
time_t CountTime;
QTimer CountTimer;
Ui::ClockCounterClass ui;
PreClick pre_click_window;
};

@ -17,7 +17,7 @@
</sizepolicy>
</property>
<property name="windowTitle">
<string>ClockCounter</string>
<string>软件执行计时器</string>
</property>
<widget class="QWidget" name="centralWidget">
<widget class="LcdNumber" name="NumHour01">

@ -1,10 +1,35 @@
#include "PreClick.h"
#include "PreClick.h"
PreClick::PreClick(QWidget* parent) : QMainWindow(parent)
{
ui.setupUi(this);
connect(ui.BtnGetPos, &QPushButton::clicked, this, &PreClick::StartCursorTrack);
connect(&CursorUpdate, &QTimer::timeout, this, &PreClick::UpdateCursorPosition);
CursorUpdate.setInterval(50);
}
PreClick::~PreClick()
{
}
void PreClick::UpdateCursorPosition()
{
POINT point;
GetCursorPos(&point);
ui.PosX->setText(QString::asprintf("%ld", point.x));
ui.PosY->setText(QString::asprintf("%ld", point.y));
}
void PreClick::StartCursorTrack()
{
if (CursorUpdate.isActive())
{
CursorUpdate.stop();
ui.BtnGetPos->setText("获取坐标");
}
else
{
CursorUpdate.stop();
ui.BtnGetPos->setText("停止获取");
}
}

@ -1,6 +1,8 @@
#pragma once
#include <QtWidgets/QMainWindow>
#include "ui_PreClick.h"
#include <QTimer>
#include <Windows.h>
class PreClick : public QMainWindow
{
@ -10,7 +12,12 @@ public:
PreClick(QWidget* parent = nullptr);
~PreClick();
public slots:
void UpdateCursorPosition();
void StartCursorTrack();
private:
QTimer CursorUpdate;
Ui::PreClickWindow ui;
};

@ -11,7 +11,7 @@
</rect>
</property>
<property name="windowTitle">
<string>MainWindow</string>
<string>获取预点击操作信息</string>
</property>
<widget class="QWidget" name="centralwidget">
<widget class="QGroupBox" name="PosGetter">

Loading…
Cancel
Save