update code #1
This commit is contained in:
@@ -1,10 +1,13 @@
|
|||||||
#include "ClockCounter.h"
|
#include "ClockCounter.h"
|
||||||
|
|
||||||
ClockCounter::ClockCounter(QWidget *parent)
|
ClockCounter::ClockCounter(QWidget *parent) : QMainWindow(parent)
|
||||||
: QMainWindow(parent)
|
|
||||||
{
|
{
|
||||||
ui.setupUi(this);
|
ui.setupUi(this);
|
||||||
|
ui.SpliterHourMinute->Init(UDateTimeSpliter::Type::Time);
|
||||||
|
ui.SpliterMinuteSecond->Init(UDateTimeSpliter::Type::Time);
|
||||||
|
ui.SpliterSecondMS->Init(UDateTimeSpliter::Type::Dots);
|
||||||
}
|
}
|
||||||
|
|
||||||
ClockCounter::~ClockCounter()
|
ClockCounter::~ClockCounter()
|
||||||
{}
|
{
|
||||||
|
}
|
||||||
+204
-17
@@ -1,28 +1,215 @@
|
|||||||
<UI version="4.0" >
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
<class>ClockCounterClass</class>
|
<class>ClockCounterClass</class>
|
||||||
<widget class="QMainWindow" name="ClockCounterClass" >
|
<widget class="QMainWindow" name="ClockCounterClass">
|
||||||
<property name="objectName" >
|
<property name="geometry">
|
||||||
<string notr="true">ClockCounterClass</string>
|
|
||||||
</property>
|
|
||||||
<property name="geometry" >
|
|
||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>600</width>
|
<width>980</width>
|
||||||
<height>400</height>
|
<height>269</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle" >
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
<string>ClockCounter</string>
|
<string>ClockCounter</string>
|
||||||
</property> <widget class="QMenuBar" name="menuBar" />
|
</property>
|
||||||
<widget class="QToolBar" name="mainToolBar" />
|
<widget class="QWidget" name="centralWidget">
|
||||||
<widget class="QWidget" name="centralWidget" />
|
<widget class="LcdNumber" name="NumHour01">
|
||||||
<widget class="QStatusBar" name="statusBar" />
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>10</x>
|
||||||
|
<y>20</y>
|
||||||
|
<width>81</width>
|
||||||
|
<height>141</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="LcdNumber" name="NumHour02">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>90</x>
|
||||||
|
<y>20</y>
|
||||||
|
<width>81</width>
|
||||||
|
<height>141</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="UDateTimeSpliter" name="SpliterHourMinute" native="true">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>170</x>
|
||||||
|
<y>20</y>
|
||||||
|
<width>81</width>
|
||||||
|
<height>141</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="UDateTimeSpliter" name="SpliterMinuteSecond" native="true">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>410</x>
|
||||||
|
<y>20</y>
|
||||||
|
<width>81</width>
|
||||||
|
<height>141</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="LcdNumber" name="NumMinute02">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>330</x>
|
||||||
|
<y>20</y>
|
||||||
|
<width>81</width>
|
||||||
|
<height>141</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="LcdNumber" name="NumMinute01">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>250</x>
|
||||||
|
<y>20</y>
|
||||||
|
<width>81</width>
|
||||||
|
<height>141</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="UDateTimeSpliter" name="SpliterSecondMS" native="true">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>650</x>
|
||||||
|
<y>20</y>
|
||||||
|
<width>81</width>
|
||||||
|
<height>141</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="LcdNumber" name="NumSecond01">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>490</x>
|
||||||
|
<y>20</y>
|
||||||
|
<width>81</width>
|
||||||
|
<height>141</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="LcdNumber" name="NumSecond02">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>570</x>
|
||||||
|
<y>20</y>
|
||||||
|
<width>81</width>
|
||||||
|
<height>141</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="LcdNumber" name="NumMillSec03">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>890</x>
|
||||||
|
<y>20</y>
|
||||||
|
<width>81</width>
|
||||||
|
<height>141</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="LcdNumber" name="NumMillSec01">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>730</x>
|
||||||
|
<y>20</y>
|
||||||
|
<width>81</width>
|
||||||
|
<height>141</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="LcdNumber" name="NumMillSec02">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>810</x>
|
||||||
|
<y>20</y>
|
||||||
|
<width>81</width>
|
||||||
|
<height>141</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="QPushButton" name="BtnStartTimer">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>20</x>
|
||||||
|
<y>190</y>
|
||||||
|
<width>181</width>
|
||||||
|
<height>61</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>开始计时</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="QPushButton" name="BtnStopTimer">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>290</x>
|
||||||
|
<y>190</y>
|
||||||
|
<width>181</width>
|
||||||
|
<height>61</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>停止计时</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="QPushButton" name="BtnGetPreclickPos">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>540</x>
|
||||||
|
<y>190</y>
|
||||||
|
<width>181</width>
|
||||||
|
<height>61</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>获取预点击坐标</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="QPushButton" name="BtnClearPreclickPos">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>780</x>
|
||||||
|
<y>190</y>
|
||||||
|
<width>181</width>
|
||||||
|
<height>61</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>清除预点击坐标</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</widget>
|
||||||
</widget>
|
</widget>
|
||||||
<layoutDefault spacing="6" margin="11" />
|
<layoutdefault spacing="6" margin="11"/>
|
||||||
<pixmapfunction></pixmapfunction>
|
<customwidgets>
|
||||||
|
<customwidget>
|
||||||
|
<class>LcdNumber</class>
|
||||||
|
<extends>QWidget</extends>
|
||||||
|
<header>lcdnumber.h</header>
|
||||||
|
</customwidget>
|
||||||
|
<customwidget>
|
||||||
|
<class>UDateTimeSpliter</class>
|
||||||
|
<extends>QWidget</extends>
|
||||||
|
<header>udatetimespliter.h</header>
|
||||||
|
<container>1</container>
|
||||||
|
</customwidget>
|
||||||
|
</customwidgets>
|
||||||
<resources>
|
<resources>
|
||||||
<include location="ClockCounter.qrc"/>
|
<include location="ClockCounter.qrc"/>
|
||||||
</resources>
|
</resources>
|
||||||
<connections/>
|
<connections/>
|
||||||
</UI>
|
</ui>
|
||||||
|
|||||||
@@ -15,8 +15,7 @@
|
|||||||
<Keyword>QtVS_v304</Keyword>
|
<Keyword>QtVS_v304</Keyword>
|
||||||
<WindowsTargetPlatformVersion Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">10.0.22621.0</WindowsTargetPlatformVersion>
|
<WindowsTargetPlatformVersion Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">10.0.22621.0</WindowsTargetPlatformVersion>
|
||||||
<WindowsTargetPlatformVersion Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">10.0.22621.0</WindowsTargetPlatformVersion>
|
<WindowsTargetPlatformVersion Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">10.0.22621.0</WindowsTargetPlatformVersion>
|
||||||
<QtMsBuild Condition="'$(QtMsBuild)'=='' OR !Exists('$(QtMsBuild)\qt.targets')"
|
<QtMsBuild Condition="'$(QtMsBuild)'=='' OR !Exists('$(QtMsBuild)\qt.targets')">$(MSBuildProjectDirectory)\QtMsBuild</QtMsBuild>
|
||||||
>$(MSBuildProjectDirectory)\QtMsBuild</QtMsBuild>
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'" Label="Configuration">
|
||||||
@@ -41,11 +40,8 @@
|
|||||||
<QtModules>core;gui;widgets</QtModules>
|
<QtModules>core;gui;widgets</QtModules>
|
||||||
<QtBuildConfig>release</QtBuildConfig>
|
<QtBuildConfig>release</QtBuildConfig>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Target Name="QtMsBuildNotFound"
|
<Target Name="QtMsBuildNotFound" BeforeTargets="CustomBuild;ClCompile" Condition="!Exists('$(QtMsBuild)\qt.targets') or !Exists('$(QtMsBuild)\qt.props')">
|
||||||
BeforeTargets="CustomBuild;ClCompile"
|
<Message Importance="High" Text="QtMsBuild: could not locate qt.targets, qt.props; project may not build correctly." />
|
||||||
Condition="!Exists('$(QtMsBuild)\qt.targets') or !Exists('$(QtMsBuild)\qt.props')">
|
|
||||||
<Message Importance="High"
|
|
||||||
Text="QtMsBuild: could not locate qt.targets, qt.props; project may not build correctly." />
|
|
||||||
</Target>
|
</Target>
|
||||||
<ImportGroup Label="ExtensionSettings" />
|
<ImportGroup Label="ExtensionSettings" />
|
||||||
<ImportGroup Label="Shared" />
|
<ImportGroup Label="Shared" />
|
||||||
@@ -61,7 +57,14 @@
|
|||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
|
||||||
|
<IncludePath>F:\QtGUIlib\qucsdk\include;$(IncludePath)</IncludePath>
|
||||||
|
<LibraryPath>F:\QtGUIlib\qucsdk\bin;$(LibraryPath)</LibraryPath>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<Link>
|
||||||
|
<AdditionalDependencies>quc.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'" Label="Configuration">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'" Label="Configuration">
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||||
@@ -89,12 +92,20 @@
|
|||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<QtRcc Include="ClockCounter.qrc"/>
|
<ClCompile Include="PreClick.cpp" />
|
||||||
<QtUic Include="ClockCounter.ui"/>
|
<ClCompile Include="UDateTimeSpliter.cpp" />
|
||||||
<QtMoc Include="ClockCounter.h"/>
|
<QtRcc Include="ClockCounter.qrc" />
|
||||||
<ClCompile Include="ClockCounter.cpp"/>
|
<QtUic Include="ClockCounter.ui" />
|
||||||
<ClCompile Include="main.cpp"/>
|
<QtMoc Include="ClockCounter.h" />
|
||||||
|
<ClCompile Include="ClockCounter.cpp" />
|
||||||
|
<ClCompile Include="main.cpp" />
|
||||||
|
<QtUic Include="PreClick.ui" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<QtMoc Include="PreClick.h" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<QtMoc Include="UDateTimeSpliter.h" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
<ImportGroup Condition="Exists('$(QtMsBuild)\qt.targets')">
|
<ImportGroup Condition="Exists('$(QtMsBuild)\qt.targets')">
|
||||||
|
|||||||
@@ -35,14 +35,29 @@
|
|||||||
<ClCompile Include="ClockCounter.cpp">
|
<ClCompile Include="ClockCounter.cpp">
|
||||||
<Filter>Source Files</Filter>
|
<Filter>Source Files</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ResourceCompile Include="$pro_name$.rc">
|
</ItemGroup>
|
||||||
</ResourceCompile>
|
<ItemGroup>
|
||||||
<None Include="$pro_name$.ico">
|
<ClCompile Include="main.cpp">
|
||||||
<Filter>Resource Files</Filter>
|
<Filter>Source Files</Filter>
|
||||||
</None>
|
</ClCompile>
|
||||||
<None Include="$pro_name$.def">
|
<ClCompile Include="PreClick.cpp">
|
||||||
<Filter>Resource Files</Filter>
|
<Filter>Source Files</Filter>
|
||||||
</None>
|
</ClCompile>
|
||||||
|
<ClCompile Include="UDateTimeSpliter.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<QtUic Include="PreClick.ui">
|
||||||
|
<Filter>Form Files</Filter>
|
||||||
|
</QtUic>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<QtMoc Include="PreClick.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</QtMoc>
|
||||||
|
<QtMoc Include="UDateTimeSpliter.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</QtMoc>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
#include "PreClick.h"
|
||||||
|
|
||||||
|
PreClick::PreClick(QWidget* parent) : QMainWindow(parent)
|
||||||
|
{
|
||||||
|
ui.setupUi(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
PreClick::~PreClick()
|
||||||
|
{
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
#pragma once
|
||||||
|
#include <QtWidgets/QMainWindow>
|
||||||
|
#include "ui_PreClick.h"
|
||||||
|
|
||||||
|
class PreClick : public QMainWindow
|
||||||
|
{
|
||||||
|
Q_OBJECT;
|
||||||
|
|
||||||
|
public:
|
||||||
|
PreClick(QWidget* parent = nullptr);
|
||||||
|
~PreClick();
|
||||||
|
|
||||||
|
private:
|
||||||
|
Ui::PreClickWindow ui;
|
||||||
|
};
|
||||||
|
|
||||||
@@ -0,0 +1,151 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>PreClickWindow</class>
|
||||||
|
<widget class="QMainWindow" name="PreClickWindow">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>323</width>
|
||||||
|
<height>382</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>MainWindow</string>
|
||||||
|
</property>
|
||||||
|
<widget class="QWidget" name="centralwidget">
|
||||||
|
<widget class="QGroupBox" name="PosGetter">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>10</x>
|
||||||
|
<y>10</y>
|
||||||
|
<width>301</width>
|
||||||
|
<height>181</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="title">
|
||||||
|
<string>预点击坐标</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
<widget class="QTextEdit" name="PosX">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>70</x>
|
||||||
|
<y>30</y>
|
||||||
|
<width>111</width>
|
||||||
|
<height>41</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="QLabel" name="label">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>20</x>
|
||||||
|
<y>40</y>
|
||||||
|
<width>31</width>
|
||||||
|
<height>16</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>X</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="QTextEdit" name="PosY">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>70</x>
|
||||||
|
<y>100</y>
|
||||||
|
<width>111</width>
|
||||||
|
<height>41</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="QLabel" name="label_2">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>20</x>
|
||||||
|
<y>110</y>
|
||||||
|
<width>31</width>
|
||||||
|
<height>16</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Y</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="QPushButton" name="BtnGetPos">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>200</x>
|
||||||
|
<y>30</y>
|
||||||
|
<width>75</width>
|
||||||
|
<height>111</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>获取坐标</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</widget>
|
||||||
|
<widget class="QGroupBox" name="CountGetter">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>10</x>
|
||||||
|
<y>210</y>
|
||||||
|
<width>301</width>
|
||||||
|
<height>101</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="title">
|
||||||
|
<string>预点击次数</string>
|
||||||
|
</property>
|
||||||
|
<widget class="QSpinBox" name="ClickCount">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>20</x>
|
||||||
|
<y>30</y>
|
||||||
|
<width>261</width>
|
||||||
|
<height>51</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</widget>
|
||||||
|
<widget class="QPushButton" name="BtnOK">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>20</x>
|
||||||
|
<y>330</y>
|
||||||
|
<width>91</width>
|
||||||
|
<height>41</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>确定</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="QPushButton" name="BtnCancel">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>210</x>
|
||||||
|
<y>330</y>
|
||||||
|
<width>91</width>
|
||||||
|
<height>41</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>取消</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</widget>
|
||||||
|
</widget>
|
||||||
|
<resources/>
|
||||||
|
<connections/>
|
||||||
|
</ui>
|
||||||
@@ -0,0 +1,140 @@
|
|||||||
|
#include "UDateTimeSpliter.h"
|
||||||
|
|
||||||
|
UDateTimeSpliter::UDateTimeSpliter(QWidget* parent) : QWidget(parent)
|
||||||
|
{
|
||||||
|
ItemType = Type::Empty;
|
||||||
|
TextColor1 = QColor(100, 184, 255, 255);
|
||||||
|
TextColor2 = QColor(79, 148, 205, 255);
|
||||||
|
Background1 = QColor(100, 100, 100, 255);
|
||||||
|
Background2 = QColor(60, 60, 60, 255);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
UDateTimeSpliter::Triangle UDateTimeSpliter::GetTriangle(QPoint start, bool left, int xsize, int ysize)
|
||||||
|
{
|
||||||
|
QPolygon triangle;
|
||||||
|
int y_half = ysize / 2;
|
||||||
|
QPoint top((left ? start.x() + xsize : start.x() - xsize), start.y() + y_half);
|
||||||
|
QPoint bottom((left ? start.x() + xsize : start.x() - xsize), start.y() - y_half);
|
||||||
|
triangle.setPoints(3, start.x(), start.y(), top.x(), top.y(), bottom.x(), bottom.y());
|
||||||
|
QRect equ_rect(QPoint(start.x(), top.y()), bottom);
|
||||||
|
return { triangle,equ_rect };
|
||||||
|
}
|
||||||
|
|
||||||
|
void UDateTimeSpliter::setTextColor1(QColor color)
|
||||||
|
{
|
||||||
|
TextColor1 = color;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
void UDateTimeSpliter::setTextColor2(QColor color)
|
||||||
|
{
|
||||||
|
TextColor2 = color;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
void UDateTimeSpliter::setBackground1(QColor color)
|
||||||
|
{
|
||||||
|
Background1 = color;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
void UDateTimeSpliter::setBackground2(QColor color)
|
||||||
|
{
|
||||||
|
Background2 = color;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
void UDateTimeSpliter::DrawBackground(QPainter& painter)
|
||||||
|
{
|
||||||
|
QLinearGradient qlg(rect().topLeft(), rect().bottomRight());
|
||||||
|
qlg.setColorAt(0, Background1);
|
||||||
|
qlg.setColorAt(1, Background2);
|
||||||
|
qlg.setSpread(QGradient::PadSpread);
|
||||||
|
painter.setBrush(qlg);
|
||||||
|
painter.drawRect(rect());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
void UDateTimeSpliter::DrawDateSpliter(QPainter& painter)
|
||||||
|
{
|
||||||
|
QPoint text_start(rect().left() + DateSpace, rect().top() + DateSpace);
|
||||||
|
QPoint text_end(rect().right() - DateSpace, rect().bottom() - DateSpace);
|
||||||
|
QRect text(text_start, text_end);
|
||||||
|
QPoint text_y_center_left(text.topLeft().x(), text.topLeft().y() + (text.height() / 2));
|
||||||
|
QPoint text_y_center_right(text.topRight().x(), text.topRight().y() + (text.height() / 2));
|
||||||
|
Triangle left_triangle = GetTriangle(text_y_center_left, true, DateSpliterTriangleSize, DateSpliterLineSize);
|
||||||
|
Triangle right_triangle = GetTriangle(text_y_center_right, false, DateSpliterTriangleSize, DateSpliterLineSize);
|
||||||
|
QPolygon full_shape;
|
||||||
|
full_shape.setPoints(6, left_triangle.Shape.point(1).x(), left_triangle.Shape.point(1).y(), left_triangle.Shape.point(0).x(), left_triangle.Shape.point(0).y(), left_triangle.Shape.point(2).x(), left_triangle.Shape.point(2).y(), right_triangle.Shape.point(2).x(), right_triangle.Shape.point(2).y(), right_triangle.Shape.point(0).x(), right_triangle.Shape.point(0).y(), right_triangle.Shape.point(1).x(), right_triangle.Shape.point(1).y());
|
||||||
|
QLinearGradient linear(left_triangle.EquallyRect.topLeft(), right_triangle.EquallyRect.bottomRight());
|
||||||
|
linear.setColorAt(0, TextColor1);
|
||||||
|
linear.setColorAt(1, TextColor2);
|
||||||
|
linear.setSpread(QGradient::PadSpread);
|
||||||
|
painter.setBrush(linear);
|
||||||
|
painter.drawPolygon(full_shape);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
void UDateTimeSpliter::DrawDotsSpliter(QPainter& painter)
|
||||||
|
{
|
||||||
|
QPoint text_start(rect().left() + DotSpace, rect().top() + DotSpace);
|
||||||
|
QPoint text_end(rect().right() - DotSpace, rect().bottom() - DotSpace);
|
||||||
|
QRect text(text_start, text_end);
|
||||||
|
QPoint dot_center(text.left() + (text.width() / 2), text.bottom() - DotSpace);
|
||||||
|
QLinearGradient linear(text.topLeft(), text.bottomRight());
|
||||||
|
linear.setColorAt(0, TextColor1);
|
||||||
|
linear.setColorAt(1, TextColor2);
|
||||||
|
linear.setSpread(QGradient::PadSpread);
|
||||||
|
painter.setBrush(linear);
|
||||||
|
painter.drawEllipse(dot_center, DotSpliterCircleSize, DotSpliterCircleSize);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
void UDateTimeSpliter::DrawTimeSpliter(QPainter& painter)
|
||||||
|
{
|
||||||
|
QPoint text_start(rect().left() + TimeSpace, rect().top() + TimeSpace);
|
||||||
|
QPoint text_end(rect().right() - TimeSpace, rect().bottom() - TimeSpace);
|
||||||
|
QRect text(text_start, text_end);
|
||||||
|
QPoint text_center(text.left() + (text.width() / 2), text.top() + (text.height() / 2));
|
||||||
|
QPoint top_circle_center(text_center.x(), text_center.y() + TimeSpliterCircleSpace);
|
||||||
|
QPoint bottom_circle_center(text_center.x(), text_center.y() - TimeSpliterCircleSpace);
|
||||||
|
QLinearGradient linear(text.topLeft(), text.bottomRight());
|
||||||
|
linear.setColorAt(0, TextColor1);
|
||||||
|
linear.setColorAt(1, TextColor2);
|
||||||
|
linear.setSpread(QGradient::PadSpread);
|
||||||
|
painter.setBrush(linear);
|
||||||
|
painter.drawEllipse(top_circle_center, TimeSpliterCircleSize, TimeSpliterCircleSize);
|
||||||
|
painter.drawEllipse(bottom_circle_center, TimeSpliterCircleSize, TimeSpliterCircleSize);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
void UDateTimeSpliter::Init(Type type, QColor tc1, QColor tc2, QColor bg1, QColor bg2)
|
||||||
|
{
|
||||||
|
ItemType = type;
|
||||||
|
if (tc1 != QColor())
|
||||||
|
TextColor1 = tc1;
|
||||||
|
if (tc2 != QColor())
|
||||||
|
TextColor2 = tc2;
|
||||||
|
if (bg1 != QColor())
|
||||||
|
Background1 = bg1;
|
||||||
|
if (bg2 != QColor())
|
||||||
|
Background2 = bg2;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
void UDateTimeSpliter::paintEvent(QPaintEvent* event)
|
||||||
|
{
|
||||||
|
Q_UNUSED(event);
|
||||||
|
QPainter painter(this);
|
||||||
|
painter.setRenderHints(QPainter::Antialiasing | QPainter::TextAntialiasing);//设置抗锯齿
|
||||||
|
painter.setPen(Qt::NoPen);
|
||||||
|
DrawBackground(painter);
|
||||||
|
if (ItemType == Type::Date)
|
||||||
|
DrawDateSpliter(painter);
|
||||||
|
else if (ItemType == Type::Time)
|
||||||
|
DrawTimeSpliter(painter);
|
||||||
|
else if (ItemType == Type::Dots)
|
||||||
|
DrawDotsSpliter(painter);
|
||||||
|
return;
|
||||||
|
}
|
||||||
@@ -0,0 +1,57 @@
|
|||||||
|
#pragma once
|
||||||
|
#include <QWidget.h>
|
||||||
|
#include <QPainter>
|
||||||
|
#include <QColor>
|
||||||
|
#include <QRect>
|
||||||
|
#include <QLinearGradient>
|
||||||
|
#include <QPolygon>
|
||||||
|
|
||||||
|
class UDateTimeSpliter : public QWidget
|
||||||
|
{
|
||||||
|
Q_OBJECT;
|
||||||
|
public:
|
||||||
|
enum class Type
|
||||||
|
{
|
||||||
|
Date,
|
||||||
|
Dots,
|
||||||
|
Time,
|
||||||
|
Empty
|
||||||
|
};
|
||||||
|
|
||||||
|
struct Triangle
|
||||||
|
{
|
||||||
|
QPolygon Shape;
|
||||||
|
QRect EquallyRect;
|
||||||
|
};
|
||||||
|
private:
|
||||||
|
Type ItemType;
|
||||||
|
QColor TextColor1;
|
||||||
|
QColor TextColor2;
|
||||||
|
QColor Background1;
|
||||||
|
QColor Background2;
|
||||||
|
const int DotSpace = 20;
|
||||||
|
const int DateSpace = 20;
|
||||||
|
const int TimeSpace = 20;
|
||||||
|
const int DateSpliterLineSize = 10;
|
||||||
|
const int DotSpliterCircleSize = 6;
|
||||||
|
const int TimeSpliterCircleSize = 7;
|
||||||
|
const int TimeSpliterCircleSpace = 25;
|
||||||
|
const int DateSpliterTriangleSize = 6;
|
||||||
|
private:
|
||||||
|
Triangle GetTriangle(QPoint start, bool left, int xsize, int ysize);
|
||||||
|
void DrawBackground(QPainter& painter);
|
||||||
|
void DrawDateSpliter(QPainter& painter);
|
||||||
|
void DrawDotsSpliter(QPainter& painter);
|
||||||
|
void DrawTimeSpliter(QPainter& painter);
|
||||||
|
public:
|
||||||
|
UDateTimeSpliter(QWidget* parent = nullptr);
|
||||||
|
public:
|
||||||
|
void Init(Type type, QColor tc1 = QColor(), QColor tc2 = QColor(), QColor bg1 = QColor(), QColor bg2 = QColor());
|
||||||
|
void setTextColor1(QColor color);
|
||||||
|
void setTextColor2(QColor color);
|
||||||
|
void setBackground1(QColor color);
|
||||||
|
void setBackground2(QColor color);
|
||||||
|
protected:
|
||||||
|
virtual void paintEvent(QPaintEvent* event) override;
|
||||||
|
};
|
||||||
|
|
||||||
Reference in New Issue
Block a user