20240426 初始化仓库
This commit is contained in:
parent
d4ebc72a7b
commit
49b4ee7804
@ -1,3 +1,12 @@
|
|||||||
# SerialPortDebug_Tools
|
# SerialPortDebug_Tools
|
||||||
|
|
||||||
串口调试工具
|
串口调试工具
|
||||||
|
|
||||||
|
这是一个由 JRNitre 编写的串口调试工具, 功能尚不完善。
|
||||||
|
|
||||||
|
## 待办
|
||||||
|
|
||||||
|
* 完善 About 界面
|
||||||
|
* 增加一个详细设置界面
|
||||||
|
* 优化信息显示形式
|
||||||
|
* 完善hex&text模式选择
|
BIN
build/D3Dcompiler_47.dll
Normal file
BIN
build/D3Dcompiler_47.dll
Normal file
Binary file not shown.
BIN
build/Qt5Core.dll
Normal file
BIN
build/Qt5Core.dll
Normal file
Binary file not shown.
BIN
build/Qt5Gui.dll
Normal file
BIN
build/Qt5Gui.dll
Normal file
Binary file not shown.
BIN
build/Qt5SerialPort.dll
Normal file
BIN
build/Qt5SerialPort.dll
Normal file
Binary file not shown.
BIN
build/Qt5Svg.dll
Normal file
BIN
build/Qt5Svg.dll
Normal file
Binary file not shown.
BIN
build/Qt5Widgets.dll
Normal file
BIN
build/Qt5Widgets.dll
Normal file
Binary file not shown.
BIN
build/iconengines/qsvgicon.dll
Normal file
BIN
build/iconengines/qsvgicon.dll
Normal file
Binary file not shown.
BIN
build/imageformats/qgif.dll
Normal file
BIN
build/imageformats/qgif.dll
Normal file
Binary file not shown.
BIN
build/imageformats/qicns.dll
Normal file
BIN
build/imageformats/qicns.dll
Normal file
Binary file not shown.
BIN
build/imageformats/qico.dll
Normal file
BIN
build/imageformats/qico.dll
Normal file
Binary file not shown.
BIN
build/imageformats/qjpeg.dll
Normal file
BIN
build/imageformats/qjpeg.dll
Normal file
Binary file not shown.
BIN
build/imageformats/qsvg.dll
Normal file
BIN
build/imageformats/qsvg.dll
Normal file
Binary file not shown.
BIN
build/imageformats/qtga.dll
Normal file
BIN
build/imageformats/qtga.dll
Normal file
Binary file not shown.
BIN
build/imageformats/qtiff.dll
Normal file
BIN
build/imageformats/qtiff.dll
Normal file
Binary file not shown.
BIN
build/imageformats/qwbmp.dll
Normal file
BIN
build/imageformats/qwbmp.dll
Normal file
Binary file not shown.
BIN
build/imageformats/qwebp.dll
Normal file
BIN
build/imageformats/qwebp.dll
Normal file
Binary file not shown.
BIN
build/libEGL.dll
Normal file
BIN
build/libEGL.dll
Normal file
Binary file not shown.
BIN
build/libGLESv2.dll
Normal file
BIN
build/libGLESv2.dll
Normal file
Binary file not shown.
BIN
build/libgcc_s_dw2-1.dll
Normal file
BIN
build/libgcc_s_dw2-1.dll
Normal file
Binary file not shown.
BIN
build/libstdc++-6.dll
Normal file
BIN
build/libstdc++-6.dll
Normal file
Binary file not shown.
BIN
build/opengl32sw.dll
Normal file
BIN
build/opengl32sw.dll
Normal file
Binary file not shown.
BIN
build/platforms/qwindows.dll
Normal file
BIN
build/platforms/qwindows.dll
Normal file
Binary file not shown.
BIN
build/serialport.exe
Normal file
BIN
build/serialport.exe
Normal file
Binary file not shown.
BIN
build/styles/qwindowsvistastyle.dll
Normal file
BIN
build/styles/qwindowsvistastyle.dll
Normal file
Binary file not shown.
BIN
build/translations/qt_ar.qm
Normal file
BIN
build/translations/qt_ar.qm
Normal file
Binary file not shown.
BIN
build/translations/qt_bg.qm
Normal file
BIN
build/translations/qt_bg.qm
Normal file
Binary file not shown.
BIN
build/translations/qt_ca.qm
Normal file
BIN
build/translations/qt_ca.qm
Normal file
Binary file not shown.
BIN
build/translations/qt_cs.qm
Normal file
BIN
build/translations/qt_cs.qm
Normal file
Binary file not shown.
BIN
build/translations/qt_da.qm
Normal file
BIN
build/translations/qt_da.qm
Normal file
Binary file not shown.
BIN
build/translations/qt_de.qm
Normal file
BIN
build/translations/qt_de.qm
Normal file
Binary file not shown.
BIN
build/translations/qt_en.qm
Normal file
BIN
build/translations/qt_en.qm
Normal file
Binary file not shown.
BIN
build/translations/qt_es.qm
Normal file
BIN
build/translations/qt_es.qm
Normal file
Binary file not shown.
BIN
build/translations/qt_fi.qm
Normal file
BIN
build/translations/qt_fi.qm
Normal file
Binary file not shown.
BIN
build/translations/qt_fr.qm
Normal file
BIN
build/translations/qt_fr.qm
Normal file
Binary file not shown.
BIN
build/translations/qt_gd.qm
Normal file
BIN
build/translations/qt_gd.qm
Normal file
Binary file not shown.
BIN
build/translations/qt_he.qm
Normal file
BIN
build/translations/qt_he.qm
Normal file
Binary file not shown.
BIN
build/translations/qt_hu.qm
Normal file
BIN
build/translations/qt_hu.qm
Normal file
Binary file not shown.
BIN
build/translations/qt_it.qm
Normal file
BIN
build/translations/qt_it.qm
Normal file
Binary file not shown.
BIN
build/translations/qt_ja.qm
Normal file
BIN
build/translations/qt_ja.qm
Normal file
Binary file not shown.
BIN
build/translations/qt_ko.qm
Normal file
BIN
build/translations/qt_ko.qm
Normal file
Binary file not shown.
BIN
build/translations/qt_lv.qm
Normal file
BIN
build/translations/qt_lv.qm
Normal file
Binary file not shown.
BIN
build/translations/qt_pl.qm
Normal file
BIN
build/translations/qt_pl.qm
Normal file
Binary file not shown.
BIN
build/translations/qt_ru.qm
Normal file
BIN
build/translations/qt_ru.qm
Normal file
Binary file not shown.
BIN
build/translations/qt_sk.qm
Normal file
BIN
build/translations/qt_sk.qm
Normal file
Binary file not shown.
BIN
build/translations/qt_uk.qm
Normal file
BIN
build/translations/qt_uk.qm
Normal file
Binary file not shown.
BIN
build/translations/qt_zh_TW.qm
Normal file
BIN
build/translations/qt_zh_TW.qm
Normal file
Binary file not shown.
31
src/06_QtCreator_Cplus_SerialDebug_20240425.pro
Normal file
31
src/06_QtCreator_Cplus_SerialDebug_20240425.pro
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
QT += core gui serialport
|
||||||
|
|
||||||
|
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
|
||||||
|
|
||||||
|
CONFIG += c++11
|
||||||
|
|
||||||
|
# The following define makes your compiler emit warnings if you use
|
||||||
|
# any Qt feature that has been marked deprecated (the exact warnings
|
||||||
|
# depend on your compiler). Please consult the documentation of the
|
||||||
|
# deprecated API in order to know how to port your code away from it.
|
||||||
|
DEFINES += QT_DEPRECATED_WARNINGS
|
||||||
|
|
||||||
|
# You can also make your code fail to compile if it uses deprecated APIs.
|
||||||
|
# In order to do so, uncomment the following line.
|
||||||
|
# You can also select to disable deprecated APIs only up to a certain version of Qt.
|
||||||
|
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
|
||||||
|
|
||||||
|
SOURCES += \
|
||||||
|
main.cpp \
|
||||||
|
widget.cpp
|
||||||
|
|
||||||
|
HEADERS += \
|
||||||
|
widget.h
|
||||||
|
|
||||||
|
FORMS += \
|
||||||
|
widget.ui
|
||||||
|
|
||||||
|
# Default rules for deployment.
|
||||||
|
qnx: target.path = /tmp/$${TARGET}/bin
|
||||||
|
else: unix:!android: target.path = /opt/$${TARGET}/bin
|
||||||
|
!isEmpty(target.path): INSTALLS += target
|
319
src/06_QtCreator_Cplus_SerialDebug_20240425.pro.user
Normal file
319
src/06_QtCreator_Cplus_SerialDebug_20240425.pro.user
Normal file
@ -0,0 +1,319 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE QtCreatorProject>
|
||||||
|
<!-- Written by QtCreator 4.11.1, 2024-04-26T20:54:12. -->
|
||||||
|
<qtcreator>
|
||||||
|
<data>
|
||||||
|
<variable>EnvironmentId</variable>
|
||||||
|
<value type="QByteArray">{34cec845-c4cc-4ae5-952a-77d31d4ebd2e}</value>
|
||||||
|
</data>
|
||||||
|
<data>
|
||||||
|
<variable>ProjectExplorer.Project.ActiveTarget</variable>
|
||||||
|
<value type="int">0</value>
|
||||||
|
</data>
|
||||||
|
<data>
|
||||||
|
<variable>ProjectExplorer.Project.EditorSettings</variable>
|
||||||
|
<valuemap type="QVariantMap">
|
||||||
|
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
|
||||||
|
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
|
||||||
|
<value type="QString" key="language">Cpp</value>
|
||||||
|
<valuemap type="QVariantMap" key="value">
|
||||||
|
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
|
||||||
|
</valuemap>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
|
||||||
|
<value type="QString" key="language">QmlJS</value>
|
||||||
|
<valuemap type="QVariantMap" key="value">
|
||||||
|
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
|
||||||
|
</valuemap>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
|
||||||
|
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
|
||||||
|
<value type="int" key="EditorConfiguration.IndentSize">4</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
|
||||||
|
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
|
||||||
|
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
|
||||||
|
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
|
||||||
|
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
|
||||||
|
<value type="int" key="EditorConfiguration.TabSize">8</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
|
||||||
|
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
|
||||||
|
</valuemap>
|
||||||
|
</data>
|
||||||
|
<data>
|
||||||
|
<variable>ProjectExplorer.Project.PluginSettings</variable>
|
||||||
|
<valuemap type="QVariantMap">
|
||||||
|
<valuelist type="QVariantList" key="ClangCodeModel.CustomCommandLineKey">
|
||||||
|
<value type="QString">-fno-delayed-template-parsing</value>
|
||||||
|
</valuelist>
|
||||||
|
<value type="bool" key="ClangCodeModel.UseGlobalConfig">true</value>
|
||||||
|
</valuemap>
|
||||||
|
</data>
|
||||||
|
<data>
|
||||||
|
<variable>ProjectExplorer.Project.Target.0</variable>
|
||||||
|
<valuemap type="QVariantMap">
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 5.14.2 MinGW 32-bit</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 5.14.2 MinGW 32-bit</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.qt5.5142.win32_mingw73_kit</value>
|
||||||
|
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">1</value>
|
||||||
|
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
|
||||||
|
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
|
||||||
|
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">E:/SYSTEM/Desktop/PROJECT/CodeLibrary_Next/Cplus/build-06_QtCreator_Cplus_SerialDebug_20240425-Desktop_Qt_5_14_2_MinGW_32_bit-Debug</value>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||||
|
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
|
||||||
|
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||||
|
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||||
|
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
|
||||||
|
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||||
|
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||||
|
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||||
|
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
|
||||||
|
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||||
|
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||||
|
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||||
|
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||||
|
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||||
|
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||||
|
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||||
|
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||||
|
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
|
||||||
|
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">E:/SYSTEM/Desktop/PROJECT/CodeLibrary_Next/Cplus/build-06_QtCreator_Cplus_SerialDebug_20240425-Desktop_Qt_5_14_2_MinGW_32_bit-Release</value>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||||
|
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
|
||||||
|
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||||
|
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||||
|
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
|
||||||
|
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">true</value>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||||
|
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||||
|
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||||
|
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
|
||||||
|
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||||
|
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||||
|
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||||
|
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||||
|
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||||
|
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||||
|
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||||
|
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||||
|
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
|
||||||
|
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">E:/SYSTEM/Desktop/PROJECT/CodeLibrary_Next/Cplus/build-06_QtCreator_Cplus_SerialDebug_20240425-Desktop_Qt_5_14_2_MinGW_32_bit-Profile</value>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||||
|
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
|
||||||
|
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||||
|
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||||
|
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">true</value>
|
||||||
|
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">true</value>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||||
|
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||||
|
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||||
|
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
|
||||||
|
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||||
|
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||||
|
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||||
|
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||||
|
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||||
|
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||||
|
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||||
|
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Profile</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||||
|
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||||
|
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deploy</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
|
||||||
|
<value type="QString" key="Analyzer.Perf.CallgraphMode">dwarf</value>
|
||||||
|
<valuelist type="QVariantList" key="Analyzer.Perf.Events">
|
||||||
|
<value type="QString">cpu-cycles</value>
|
||||||
|
</valuelist>
|
||||||
|
<valuelist type="QVariantList" key="Analyzer.Perf.ExtraArguments"/>
|
||||||
|
<value type="int" key="Analyzer.Perf.Frequency">250</value>
|
||||||
|
<valuelist type="QVariantList" key="Analyzer.Perf.RecordArguments">
|
||||||
|
<value type="QString">-e</value>
|
||||||
|
<value type="QString">cpu-cycles</value>
|
||||||
|
<value type="QString">--call-graph</value>
|
||||||
|
<value type="QString">dwarf,4096</value>
|
||||||
|
<value type="QString">-F</value>
|
||||||
|
<value type="QString">250</value>
|
||||||
|
</valuelist>
|
||||||
|
<value type="QString" key="Analyzer.Perf.SampleMode">-F</value>
|
||||||
|
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
||||||
|
<value type="int" key="Analyzer.Perf.StackSize">4096</value>
|
||||||
|
<value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
|
||||||
|
<value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
|
||||||
|
<value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
|
||||||
|
<value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
|
||||||
|
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
|
||||||
|
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
|
||||||
|
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
|
||||||
|
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
|
||||||
|
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
|
||||||
|
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
|
||||||
|
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
|
||||||
|
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
|
||||||
|
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
|
||||||
|
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
|
||||||
|
<value type="QString" key="Analyzer.Valgrind.KCachegrindExecutable">kcachegrind</value>
|
||||||
|
<value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
|
||||||
|
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
|
||||||
|
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
|
||||||
|
<value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
|
||||||
|
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
|
||||||
|
<value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
|
||||||
|
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
|
||||||
|
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
|
||||||
|
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
|
||||||
|
<value type="int">0</value>
|
||||||
|
<value type="int">1</value>
|
||||||
|
<value type="int">2</value>
|
||||||
|
<value type="int">3</value>
|
||||||
|
<value type="int">4</value>
|
||||||
|
<value type="int">5</value>
|
||||||
|
<value type="int">6</value>
|
||||||
|
<value type="int">7</value>
|
||||||
|
<value type="int">8</value>
|
||||||
|
<value type="int">9</value>
|
||||||
|
<value type="int">10</value>
|
||||||
|
<value type="int">11</value>
|
||||||
|
<value type="int">12</value>
|
||||||
|
<value type="int">13</value>
|
||||||
|
<value type="int">14</value>
|
||||||
|
</valuelist>
|
||||||
|
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||||
|
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:E:/SYSTEM/Desktop/PROJECT/CodeLibrary_Next/Cplus/06_QtCreator_Cplus_SerialDebug_20240425/06_QtCreator_Cplus_SerialDebug_20240425.pro</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">E:/SYSTEM/Desktop/PROJECT/CodeLibrary_Next/Cplus/06_QtCreator_Cplus_SerialDebug_20240425/06_QtCreator_Cplus_SerialDebug_20240425.pro</value>
|
||||||
|
<value type="QString" key="RunConfiguration.Arguments"></value>
|
||||||
|
<value type="bool" key="RunConfiguration.Arguments.multi">false</value>
|
||||||
|
<value type="QString" key="RunConfiguration.OverrideDebuggerStartup"></value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||||
|
<value type="QString" key="RunConfiguration.WorkingDirectory"></value>
|
||||||
|
<value type="QString" key="RunConfiguration.WorkingDirectory.default">E:/SYSTEM/Desktop/PROJECT/CodeLibrary_Next/Cplus/build-06_QtCreator_Cplus_SerialDebug_20240425-Desktop_Qt_5_14_2_MinGW_32_bit-Release</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
|
||||||
|
</valuemap>
|
||||||
|
</data>
|
||||||
|
<data>
|
||||||
|
<variable>ProjectExplorer.Project.TargetCount</variable>
|
||||||
|
<value type="int">1</value>
|
||||||
|
</data>
|
||||||
|
<data>
|
||||||
|
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
|
||||||
|
<value type="int">22</value>
|
||||||
|
</data>
|
||||||
|
<data>
|
||||||
|
<variable>Version</variable>
|
||||||
|
<value type="int">22</value>
|
||||||
|
</data>
|
||||||
|
</qtcreator>
|
11
src/main.cpp
Normal file
11
src/main.cpp
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
#include "widget.h"
|
||||||
|
|
||||||
|
#include <QApplication>
|
||||||
|
|
||||||
|
int main(int argc, char *argv[])
|
||||||
|
{
|
||||||
|
QApplication a(argc, argv);
|
||||||
|
Widget w;
|
||||||
|
w.show();
|
||||||
|
return a.exec();
|
||||||
|
}
|
248
src/widget.cpp
Normal file
248
src/widget.cpp
Normal file
@ -0,0 +1,248 @@
|
|||||||
|
#include "widget.h"
|
||||||
|
#include "ui_widget.h"
|
||||||
|
|
||||||
|
Widget::Widget(QWidget *parent)
|
||||||
|
: QWidget(parent)
|
||||||
|
, ui(new Ui::Widget)
|
||||||
|
{
|
||||||
|
ui->setupUi(this);
|
||||||
|
|
||||||
|
serialPort = new QSerialPort(this);
|
||||||
|
|
||||||
|
// 修改窗口标题
|
||||||
|
this->setWindowTitle("Design by JRNitre - Serial Port Debug Tools");
|
||||||
|
|
||||||
|
// 读取系统可用串口
|
||||||
|
// 发送到下拉框中
|
||||||
|
ui->config_port_comboBox->clear();
|
||||||
|
|
||||||
|
foreach(const QSerialPortInfo &info, QSerialPortInfo::availablePorts()){
|
||||||
|
ui->config_port_comboBox->addItem(info.portName());
|
||||||
|
}
|
||||||
|
|
||||||
|
// 串口配置数据初始化
|
||||||
|
|
||||||
|
// 默认接收&发送模式
|
||||||
|
// TRUE - Hex
|
||||||
|
// FALSE - Bool
|
||||||
|
if (recive_config_select){
|
||||||
|
ui->receive_hexmode->setChecked(1);
|
||||||
|
}else{
|
||||||
|
ui->receivetextmode->setChecked(1);
|
||||||
|
}
|
||||||
|
if (transmission_config_select){
|
||||||
|
ui->transmission_hexmode->setChecked(1);
|
||||||
|
}else{
|
||||||
|
ui->transmission_textmode->setChecked(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 链接信号与槽函数
|
||||||
|
// 发送模式配置 -> hex模式被选择 -> Widget::receiveHex_selectSlot()
|
||||||
|
connect(ui->receive_hexmode, &QRadioButton::pressed, this, &Widget::receiveHex_selectSlot);
|
||||||
|
// 发送模式配置 -> text模式被选择 -> Widget::receiveText_selectSlot()
|
||||||
|
connect(ui->receivetextmode, &QRadioButton::pressed, this, &Widget::receiveText_selectSlot);
|
||||||
|
// 接收模式配置 -> hex模式被选择 -> Widget::transmissionHex_selectSlot()
|
||||||
|
connect(ui->transmission_hexmode, &QRadioButton::pressed, this, &Widget::transmissionHex_selectSlot);
|
||||||
|
// 接收模式配置 -> text模式被选择 -> Widget::transmissionText_selectSlot()
|
||||||
|
connect(ui->transmission_textmode, &QRadioButton::pressed, this, &Widget::transmissionText_selectSlot);
|
||||||
|
|
||||||
|
// 读取默认波特率并赋值
|
||||||
|
baud_rate = ui->config_baud_comboBox->currentText().toInt();
|
||||||
|
// 读取默认数据位长度并赋值
|
||||||
|
data_bit = ui->config_databit_comboBox->currentText().toInt();
|
||||||
|
// 读取默认停止位长度并赋值
|
||||||
|
stop_bit = ui->config_stopbit_comboBox->currentText().toDouble() * 10;
|
||||||
|
// 读取默认校验模式
|
||||||
|
if (ui->config_check_comboBox->currentText() != "no"){
|
||||||
|
if (ui->config_check_comboBox->currentText() == "odd"){
|
||||||
|
check = 1;
|
||||||
|
}
|
||||||
|
if (ui->config_check_comboBox->currentText() == "even"){
|
||||||
|
check = 2;
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
check = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget::~Widget()
|
||||||
|
{
|
||||||
|
delete ui;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Button: Clear
|
||||||
|
void Widget::on_transmission_clear_Button_clicked()
|
||||||
|
{
|
||||||
|
ui->transmission_Edit->clear();
|
||||||
|
}
|
||||||
|
void Widget::on_receive_clear_Button_clicked()
|
||||||
|
{
|
||||||
|
ui->receive_Edit->clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
// 手动更新串口列表
|
||||||
|
void Widget::on_updateport_Button_clicked()
|
||||||
|
{
|
||||||
|
// 列出可用串口
|
||||||
|
ui->config_port_comboBox->clear();
|
||||||
|
|
||||||
|
foreach(const QSerialPortInfo &info, QSerialPortInfo::availablePorts()){
|
||||||
|
ui->config_port_comboBox->addItem(info.portName());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 发送模式 - Hex 模式被选中
|
||||||
|
void Widget::receiveHex_selectSlot(){
|
||||||
|
ui->receive_Edit->insertPlainText("Receive Hex select\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 发送模式 - Text 模式被选中
|
||||||
|
void Widget::receiveText_selectSlot(){
|
||||||
|
ui->receive_Edit->insertPlainText("Receive Text select\n");
|
||||||
|
}
|
||||||
|
// 接收模式 - Hex 模式被选中
|
||||||
|
void Widget::transmissionHex_selectSlot(){
|
||||||
|
ui->receive_Edit->insertPlainText("Transmission Hex select\n");
|
||||||
|
}
|
||||||
|
// 接收模式 - Text 模式被选中
|
||||||
|
void Widget::transmissionText_selectSlot(){
|
||||||
|
ui->receive_Edit->insertPlainText("Transmission Text select\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 波特率选择
|
||||||
|
void Widget::on_config_baud_comboBox_currentIndexChanged(int index)
|
||||||
|
{
|
||||||
|
baud_rate = ui->config_baud_comboBox->itemText(index).toInt();
|
||||||
|
ui->receive_Edit->insertPlainText("baud rate to " + QString::number(baud_rate) + "\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 数据位长度选择
|
||||||
|
void Widget::on_config_databit_comboBox_currentIndexChanged(int index)
|
||||||
|
{
|
||||||
|
data_bit = ui->config_databit_comboBox->itemText(index).toInt();
|
||||||
|
ui->receive_Edit->insertPlainText("data bit to " + QString::number(data_bit) + "\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 停止位长度选择
|
||||||
|
void Widget::on_config_stopbit_comboBox_currentIndexChanged(int index)
|
||||||
|
{
|
||||||
|
stop_bit = ui->config_stopbit_comboBox->itemText(index).toDouble() * 10;
|
||||||
|
ui->receive_Edit->insertPlainText("stop bit to " + QString::number(stop_bit) + "\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
void Widget::on_config_check_comboBox_currentIndexChanged(int index)
|
||||||
|
{
|
||||||
|
if (ui->config_check_comboBox->itemText(index) != "no"){
|
||||||
|
if (ui->config_check_comboBox->itemText(index) == "odd"){
|
||||||
|
check = 1;
|
||||||
|
}
|
||||||
|
if (ui->config_check_comboBox->itemText(index) == "even"){
|
||||||
|
check = 2;
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
check = 0;
|
||||||
|
}
|
||||||
|
ui->receive_Edit->insertPlainText("check to " + QString::number(check) + "\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 打开串口
|
||||||
|
void Widget::on_openserial_button_clicked()
|
||||||
|
{
|
||||||
|
// 串口初始化
|
||||||
|
// 串口号
|
||||||
|
serialPort->setPortName(ui->config_port_comboBox->currentText());
|
||||||
|
// 波特率
|
||||||
|
switch (baud_rate) {
|
||||||
|
case 4800:
|
||||||
|
serialPort->setBaudRate(QSerialPort::Baud4800);
|
||||||
|
break;
|
||||||
|
case 9600:
|
||||||
|
serialPort->setBaudRate(QSerialPort::Baud9600);
|
||||||
|
break;
|
||||||
|
case 38400:
|
||||||
|
serialPort->setBaudRate(QSerialPort::Baud38400);
|
||||||
|
break;
|
||||||
|
case 115200:
|
||||||
|
serialPort->setBaudRate(QSerialPort::Baud115200);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
// 数据位
|
||||||
|
switch (data_bit) {
|
||||||
|
case 5:
|
||||||
|
serialPort->setDataBits(QSerialPort::Data5);
|
||||||
|
break;
|
||||||
|
case 6:
|
||||||
|
serialPort->setDataBits(QSerialPort::Data6);
|
||||||
|
break;
|
||||||
|
case 7:
|
||||||
|
serialPort->setDataBits(QSerialPort::Data7);
|
||||||
|
break;
|
||||||
|
case 8:
|
||||||
|
serialPort->setDataBits(QSerialPort::Data8);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
// 停止位
|
||||||
|
switch (stop_bit) {
|
||||||
|
case 10:
|
||||||
|
serialPort->setStopBits(QSerialPort::OneStop);
|
||||||
|
break;
|
||||||
|
case 15:
|
||||||
|
serialPort->setStopBits(QSerialPort::OneAndHalfStop);
|
||||||
|
break;
|
||||||
|
case 20:
|
||||||
|
serialPort->setStopBits(QSerialPort::TwoStop);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
// 奇偶校验
|
||||||
|
switch (check) {
|
||||||
|
case 0:
|
||||||
|
serialPort->setParity(QSerialPort::NoParity);
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
serialPort->setParity(QSerialPort::OddParity);
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
serialPort->setParity(QSerialPort::EvenParity);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 按下后是否需要执行打开端口功能
|
||||||
|
if (ui->openserial_button->text() == "Open Serial"){
|
||||||
|
// 提示正在连接
|
||||||
|
ui->receive_Edit->insertPlainText("Connect to Serial " + ui->config_port_comboBox->currentText() + " ...\n");
|
||||||
|
// 端口开启成功
|
||||||
|
if (serialPort->open(QIODevice::ReadWrite) == true){
|
||||||
|
// 改变按钮名
|
||||||
|
ui->openserial_button->setText("Close Serial");
|
||||||
|
// 让端口下拉框不可选
|
||||||
|
ui->config_port_comboBox->setEnabled(false);
|
||||||
|
|
||||||
|
// 更新提示
|
||||||
|
ui->status->setText("Connect to " + ui->config_port_comboBox->currentText());
|
||||||
|
ui->status->setStyleSheet("color:green");
|
||||||
|
|
||||||
|
// 提示用户已连接
|
||||||
|
ui->receive_Edit->insertPlainText("Connect Succesufully! \n");
|
||||||
|
}else{
|
||||||
|
// 连接失败
|
||||||
|
ui->receive_Edit->insertPlainText("Connect Faild\n");
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
// 关闭串口
|
||||||
|
serialPort->close();
|
||||||
|
// 改变按钮名
|
||||||
|
ui->openserial_button->setText("Open Serial");
|
||||||
|
// 让端口下拉框可选
|
||||||
|
ui->config_port_comboBox->setEnabled(true);
|
||||||
|
|
||||||
|
ui->status->setText("Disconnect");
|
||||||
|
ui->status->setStyleSheet("color:black");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Button: About
|
||||||
|
void Widget::on_about_button_clicked()
|
||||||
|
{
|
||||||
|
QMessageBox::information(this, "Info", "null");
|
||||||
|
}
|
74
src/widget.h
Normal file
74
src/widget.h
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
#ifndef WIDGET_H
|
||||||
|
#define WIDGET_H
|
||||||
|
|
||||||
|
#include <QWidget>
|
||||||
|
#include <QDialog>
|
||||||
|
#include <QMessageBox>
|
||||||
|
#include <QSerialPort>
|
||||||
|
#include <QSerialPortInfo>
|
||||||
|
|
||||||
|
QT_BEGIN_NAMESPACE
|
||||||
|
namespace Ui { class Widget; }
|
||||||
|
QT_END_NAMESPACE
|
||||||
|
|
||||||
|
class Widget : public QWidget
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
Widget(QWidget *parent = nullptr);
|
||||||
|
|
||||||
|
~Widget();
|
||||||
|
|
||||||
|
private slots:
|
||||||
|
|
||||||
|
void on_transmission_clear_Button_clicked();
|
||||||
|
|
||||||
|
void on_receive_clear_Button_clicked();
|
||||||
|
|
||||||
|
void on_updateport_Button_clicked();
|
||||||
|
|
||||||
|
void receiveHex_selectSlot();
|
||||||
|
void receiveText_selectSlot();
|
||||||
|
void transmissionHex_selectSlot();
|
||||||
|
void transmissionText_selectSlot();
|
||||||
|
|
||||||
|
void on_config_baud_comboBox_currentIndexChanged(int index);
|
||||||
|
|
||||||
|
void on_config_databit_comboBox_currentIndexChanged(int index);
|
||||||
|
|
||||||
|
void on_config_stopbit_comboBox_currentIndexChanged(int index);
|
||||||
|
|
||||||
|
void on_config_check_comboBox_currentIndexChanged(int index);
|
||||||
|
|
||||||
|
void on_openserial_button_clicked();
|
||||||
|
|
||||||
|
void on_about_button_clicked();
|
||||||
|
|
||||||
|
private:
|
||||||
|
Ui::Widget *ui;
|
||||||
|
|
||||||
|
QSerialPort *serialPort;
|
||||||
|
|
||||||
|
int Timer_ID;
|
||||||
|
int id = 0;
|
||||||
|
|
||||||
|
// 发送&接收模式 - 通过调整此处可以更改默认值
|
||||||
|
// TRUE - Hex
|
||||||
|
// FALSE - Bool
|
||||||
|
bool recive_config_select = true;
|
||||||
|
bool transmission_config_select = true;
|
||||||
|
|
||||||
|
// 波特率
|
||||||
|
int baud_rate = 0;
|
||||||
|
// 数据位长度
|
||||||
|
int data_bit = 0;
|
||||||
|
// 停止位长度
|
||||||
|
int stop_bit = 0;
|
||||||
|
// 校验模式
|
||||||
|
// 0 - no 无
|
||||||
|
// 1 - odd 奇
|
||||||
|
// 2 - even 偶
|
||||||
|
quint8 check = 0;
|
||||||
|
};
|
||||||
|
#endif // WIDGET_H
|
478
src/widget.ui
Normal file
478
src/widget.ui
Normal file
@ -0,0 +1,478 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>Widget</class>
|
||||||
|
<widget class="QWidget" name="Widget">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>692</width>
|
||||||
|
<height>462</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>692</width>
|
||||||
|
<height>462</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>692</width>
|
||||||
|
<height>462</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>Widget</string>
|
||||||
|
</property>
|
||||||
|
<widget class="QGroupBox" name="receive_groupBox">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>10</x>
|
||||||
|
<y>10</y>
|
||||||
|
<width>441</width>
|
||||||
|
<height>261</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="title">
|
||||||
|
<string>Receive</string>
|
||||||
|
</property>
|
||||||
|
<widget class="QTextBrowser" name="receive_Edit">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>10</x>
|
||||||
|
<y>20</y>
|
||||||
|
<width>421</width>
|
||||||
|
<height>191</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="QPushButton" name="receive_clear_Button">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>340</x>
|
||||||
|
<y>220</y>
|
||||||
|
<width>93</width>
|
||||||
|
<height>28</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Clear</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="QPushButton" name="updateport_Button">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>10</x>
|
||||||
|
<y>220</y>
|
||||||
|
<width>101</width>
|
||||||
|
<height>28</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>update port</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</widget>
|
||||||
|
<widget class="QGroupBox" name="transmission_groupBox">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>10</x>
|
||||||
|
<y>280</y>
|
||||||
|
<width>441</width>
|
||||||
|
<height>181</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="title">
|
||||||
|
<string>Transmission</string>
|
||||||
|
</property>
|
||||||
|
<widget class="QPushButton" name="transmission_send_Button">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>340</x>
|
||||||
|
<y>140</y>
|
||||||
|
<width>93</width>
|
||||||
|
<height>28</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Send</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="QPushButton" name="transmission_clear_Button">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>240</x>
|
||||||
|
<y>140</y>
|
||||||
|
<width>93</width>
|
||||||
|
<height>28</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Clear</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="QTextEdit" name="transmission_Edit">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>10</x>
|
||||||
|
<y>20</y>
|
||||||
|
<width>421</width>
|
||||||
|
<height>111</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="QLabel" name="status">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>10</x>
|
||||||
|
<y>140</y>
|
||||||
|
<width>211</width>
|
||||||
|
<height>31</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Disconnected</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</widget>
|
||||||
|
<widget class="QGroupBox" name="serialconfig_groupBox">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>460</x>
|
||||||
|
<y>10</y>
|
||||||
|
<width>221</width>
|
||||||
|
<height>191</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="title">
|
||||||
|
<string>Serial Config</string>
|
||||||
|
</property>
|
||||||
|
<widget class="QWidget" name="verticalLayoutWidget">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>10</x>
|
||||||
|
<y>20</y>
|
||||||
|
<width>201</width>
|
||||||
|
<height>161</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="config_verticalLayout">
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="config_port_horizontalLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="config_port_label">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>80</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>80</width>
|
||||||
|
<height>16777215</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string><html><head/><body><p align="center">Port</p></body></html></string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QComboBox" name="config_port_comboBox"/>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="config_baud_horizontalLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="config_baud_label">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>80</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>80</width>
|
||||||
|
<height>16777215</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string><html><head/><body><p align="center">Baud</p></body></html></string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QComboBox" name="config_baud_comboBox">
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>4800</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>9600</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>38400</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>115200</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="config_databit_horizontalLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="config_databit_label">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>80</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>80</width>
|
||||||
|
<height>16777215</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string><html><head/><body><p align="center">DataBit</p></body></html></string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QComboBox" name="config_databit_comboBox">
|
||||||
|
<property name="currentText">
|
||||||
|
<string>5</string>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>5</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>6</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>7</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>8</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="config_databit_horizontalLayout_2">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="config_stopbit_label">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>80</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>80</width>
|
||||||
|
<height>16777215</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string><html><head/><body><p align="center">StopBit</p></body></html></string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QComboBox" name="config_stopbit_comboBox">
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>1</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>1.5</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>2</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="config_check_horizontalLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="config_check_label">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>80</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>80</width>
|
||||||
|
<height>16777215</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string><html><head/><body><p align="center">Check</p></body></html></string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QComboBox" name="config_check_comboBox">
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>no</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>odd</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>even</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</widget>
|
||||||
|
<widget class="QGroupBox" name="receiveconfig_groupBox">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>460</x>
|
||||||
|
<y>210</y>
|
||||||
|
<width>221</width>
|
||||||
|
<height>91</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="title">
|
||||||
|
<string>Receive Config</string>
|
||||||
|
</property>
|
||||||
|
<widget class="QWidget" name="verticalLayoutWidget_2">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>10</x>
|
||||||
|
<y>20</y>
|
||||||
|
<width>71</width>
|
||||||
|
<height>61</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="receiveconfig_verticalLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QRadioButton" name="receive_hexmode">
|
||||||
|
<property name="text">
|
||||||
|
<string>Hex</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QRadioButton" name="receivetextmode">
|
||||||
|
<property name="text">
|
||||||
|
<string>Text</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</widget>
|
||||||
|
<widget class="QGroupBox" name="transmissionconfig_groupBox">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>460</x>
|
||||||
|
<y>310</y>
|
||||||
|
<width>221</width>
|
||||||
|
<height>91</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="title">
|
||||||
|
<string>Transmission Config</string>
|
||||||
|
</property>
|
||||||
|
<widget class="QWidget" name="verticalLayoutWidget_3">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>10</x>
|
||||||
|
<y>20</y>
|
||||||
|
<width>71</width>
|
||||||
|
<height>61</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="transmissionconfig_verticalLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QRadioButton" name="transmission_hexmode">
|
||||||
|
<property name="text">
|
||||||
|
<string>Hex</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QRadioButton" name="transmission_textmode">
|
||||||
|
<property name="text">
|
||||||
|
<string>Text</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</widget>
|
||||||
|
<widget class="QPushButton" name="openserial_button">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>550</x>
|
||||||
|
<y>410</y>
|
||||||
|
<width>131</width>
|
||||||
|
<height>41</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Open Serial</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<widget class="QPushButton" name="about_button">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>460</x>
|
||||||
|
<y>410</y>
|
||||||
|
<width>81</width>
|
||||||
|
<height>41</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>About</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</widget>
|
||||||
|
<resources/>
|
||||||
|
<connections/>
|
||||||
|
</ui>
|
Loading…
Reference in New Issue
Block a user