add raid
This commit is contained in:
@@ -1,10 +1,10 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE QtCreatorProject>
|
<!DOCTYPE QtCreatorProject>
|
||||||
<!-- Written by QtCreator 18.0.2, 2026-02-01T17:38:34. -->
|
<!-- Written by QtCreator 18.0.2, 2026-02-02T03:36:12. -->
|
||||||
<qtcreator>
|
<qtcreator>
|
||||||
<data>
|
<data>
|
||||||
<variable>EnvironmentId</variable>
|
<variable>EnvironmentId</variable>
|
||||||
<value type="QByteArray">{d278bd62-883b-4816-a712-738287b946d3}</value>
|
<value type="QByteArray">{aee81d31-6056-4648-9127-61bd5a906fa5}</value>
|
||||||
</data>
|
</data>
|
||||||
<data>
|
<data>
|
||||||
<variable>ProjectExplorer.Project.ActiveTarget</variable>
|
<variable>ProjectExplorer.Project.ActiveTarget</variable>
|
||||||
@@ -79,7 +79,7 @@
|
|||||||
<value type="bool" key="ClangTools.AnalyzeOpenFiles">true</value>
|
<value type="bool" key="ClangTools.AnalyzeOpenFiles">true</value>
|
||||||
<value type="bool" key="ClangTools.BuildBeforeAnalysis">true</value>
|
<value type="bool" key="ClangTools.BuildBeforeAnalysis">true</value>
|
||||||
<value type="QString" key="ClangTools.DiagnosticConfig">Builtin.DefaultTidyAndClazy</value>
|
<value type="QString" key="ClangTools.DiagnosticConfig">Builtin.DefaultTidyAndClazy</value>
|
||||||
<value type="int" key="ClangTools.ParallelJobs">2</value>
|
<value type="int" key="ClangTools.ParallelJobs">4</value>
|
||||||
<value type="bool" key="ClangTools.PreferConfigFile">true</value>
|
<value type="bool" key="ClangTools.PreferConfigFile">true</value>
|
||||||
<valuelist type="QVariantList" key="ClangTools.SelectedDirs"/>
|
<valuelist type="QVariantList" key="ClangTools.SelectedDirs"/>
|
||||||
<valuelist type="QVariantList" key="ClangTools.SelectedFiles"/>
|
<valuelist type="QVariantList" key="ClangTools.SelectedFiles"/>
|
||||||
@@ -96,18 +96,16 @@
|
|||||||
<value type="bool" key="HasPerBcDcs">true</value>
|
<value type="bool" key="HasPerBcDcs">true</value>
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Python 3.14.2</value>
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Python 3.14.2</value>
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Python 3.14.2</value>
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Python 3.14.2</value>
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{bf68bfb7-0daf-4abe-a8f9-98ada8c9b297}</value>
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{2b4075d3-005b-46f6-8fd5-3bd8a94071db}</value>
|
||||||
<value type="qlonglong" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
|
<value type="qlonglong" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
|
||||||
<value type="qlonglong" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
|
<value type="qlonglong" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
|
||||||
<value type="qlonglong" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
|
<value type="qlonglong" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
|
||||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/smart/qtpj/diskmananger/.qtcreator/Python_3_14_2venv</value>
|
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/jing/qtpj/diskmanager/.qtcreator/Python_3_14_2venv_2</value>
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Python.PysideBuildStep</value>
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Python.PysideBuildStep</value>
|
||||||
<value type="QString" key="Python.PySideProjectTool">/home/smart/qtpj/diskmananger/.qtcreator/Python_3_14_2venv/bin/pyside6-project</value>
|
|
||||||
<value type="QString" key="Python.PySideUic">/home/smart/qtpj/diskmananger/.qtcreator/Python_3_14_2venv/bin/pyside6-uic</value>
|
|
||||||
</valuemap>
|
</valuemap>
|
||||||
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">构建</value>
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">构建</value>
|
||||||
@@ -152,16 +150,16 @@
|
|||||||
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||||
<value type="bool" key="PE.EnvironmentAspect.PrintOnRun">false</value>
|
<value type="bool" key="PE.EnvironmentAspect.PrintOnRun">false</value>
|
||||||
<value type="QString" key="PerfRecordArgsId">-e cpu-cycles --call-graph dwarf,4096 -F 250</value>
|
<value type="QString" key="PerfRecordArgsId">-e cpu-cycles --call-graph dwarf,4096 -F 250</value>
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">mainwindow.py</value>
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">disk_operations.py</value>
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">PythonEditor.RunConfiguration.</value>
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">PythonEditor.RunConfiguration.</value>
|
||||||
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">/home/smart/qtpj/diskmananger/mainwindow.py</value>
|
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">/home/jing/qtpj/diskmanager/disk_operations.py</value>
|
||||||
<value type="bool" key="ProjectExplorer.RunConfiguration.Customized">true</value>
|
<value type="bool" key="ProjectExplorer.RunConfiguration.Customized">false</value>
|
||||||
<value type="QString" key="ProjectExplorer.RunConfiguration.UniqueId"></value>
|
<value type="QString" key="ProjectExplorer.RunConfiguration.UniqueId"></value>
|
||||||
<value type="QString" key="PythonEditor.RunConfiguation.Script">/home/smart/qtpj/diskmananger/mainwindow.py</value>
|
<value type="QString" key="PythonEditor.RunConfiguation.Script">/home/jing/qtpj/diskmanager/disk_operations.py</value>
|
||||||
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||||
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||||
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/smart/qtpj/diskmananger</value>
|
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/jing/qtpj/diskmanager</value>
|
||||||
<value type="QString" key="RunConfiguration.X11Forwarding">:0.0</value>
|
<value type="QString" key="RunConfiguration.X11Forwarding">:0</value>
|
||||||
</valuemap>
|
</valuemap>
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.1">
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.1">
|
||||||
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
||||||
@@ -173,16 +171,16 @@
|
|||||||
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||||
<value type="bool" key="PE.EnvironmentAspect.PrintOnRun">false</value>
|
<value type="bool" key="PE.EnvironmentAspect.PrintOnRun">false</value>
|
||||||
<value type="QString" key="PerfRecordArgsId">-e cpu-cycles --call-graph dwarf,4096 -F 250</value>
|
<value type="QString" key="PerfRecordArgsId">-e cpu-cycles --call-graph dwarf,4096 -F 250</value>
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">system_info.py</value>
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">logger_config.py</value>
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">PythonEditor.RunConfiguration.</value>
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">PythonEditor.RunConfiguration.</value>
|
||||||
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">/home/smart/qtpj/diskmananger/system_info.py</value>
|
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">/home/jing/qtpj/diskmanager/logger_config.py</value>
|
||||||
<value type="bool" key="ProjectExplorer.RunConfiguration.Customized">true</value>
|
<value type="bool" key="ProjectExplorer.RunConfiguration.Customized">false</value>
|
||||||
<value type="QString" key="ProjectExplorer.RunConfiguration.UniqueId"></value>
|
<value type="QString" key="ProjectExplorer.RunConfiguration.UniqueId"></value>
|
||||||
<value type="QString" key="PythonEditor.RunConfiguation.Script">/home/smart/qtpj/diskmananger/system_info.py</value>
|
<value type="QString" key="PythonEditor.RunConfiguation.Script">/home/jing/qtpj/diskmanager/logger_config.py</value>
|
||||||
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||||
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||||
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/smart/qtpj/diskmananger</value>
|
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/jing/qtpj/diskmanager</value>
|
||||||
<value type="QString" key="RunConfiguration.X11Forwarding">:0.0</value>
|
<value type="QString" key="RunConfiguration.X11Forwarding">:0</value>
|
||||||
</valuemap>
|
</valuemap>
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.2">
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.2">
|
||||||
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
||||||
@@ -194,16 +192,16 @@
|
|||||||
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||||
<value type="bool" key="PE.EnvironmentAspect.PrintOnRun">false</value>
|
<value type="bool" key="PE.EnvironmentAspect.PrintOnRun">false</value>
|
||||||
<value type="QString" key="PerfRecordArgsId">-e cpu-cycles --call-graph dwarf,4096 -F 250</value>
|
<value type="QString" key="PerfRecordArgsId">-e cpu-cycles --call-graph dwarf,4096 -F 250</value>
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">logger_config.py</value>
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">mainwindow.py</value>
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">PythonEditor.RunConfiguration.</value>
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">PythonEditor.RunConfiguration.</value>
|
||||||
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">/home/smart/qtpj/diskmananger/logger_config.py</value>
|
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">/home/jing/qtpj/diskmanager/mainwindow.py</value>
|
||||||
<value type="bool" key="ProjectExplorer.RunConfiguration.Customized">true</value>
|
<value type="bool" key="ProjectExplorer.RunConfiguration.Customized">false</value>
|
||||||
<value type="QString" key="ProjectExplorer.RunConfiguration.UniqueId"></value>
|
<value type="QString" key="ProjectExplorer.RunConfiguration.UniqueId"></value>
|
||||||
<value type="QString" key="PythonEditor.RunConfiguation.Script">/home/smart/qtpj/diskmananger/logger_config.py</value>
|
<value type="QString" key="PythonEditor.RunConfiguation.Script">/home/jing/qtpj/diskmanager/mainwindow.py</value>
|
||||||
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||||
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||||
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/smart/qtpj/diskmananger</value>
|
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/jing/qtpj/diskmanager</value>
|
||||||
<value type="QString" key="RunConfiguration.X11Forwarding">:0.0</value>
|
<value type="QString" key="RunConfiguration.X11Forwarding">:0</value>
|
||||||
</valuemap>
|
</valuemap>
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.3">
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.3">
|
||||||
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
||||||
@@ -215,20 +213,20 @@
|
|||||||
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||||
<value type="bool" key="PE.EnvironmentAspect.PrintOnRun">false</value>
|
<value type="bool" key="PE.EnvironmentAspect.PrintOnRun">false</value>
|
||||||
<value type="QString" key="PerfRecordArgsId">-e cpu-cycles --call-graph dwarf,4096 -F 250</value>
|
<value type="QString" key="PerfRecordArgsId">-e cpu-cycles --call-graph dwarf,4096 -F 250</value>
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">disk_operations.py</value>
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">system_info.py</value>
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">PythonEditor.RunConfiguration.</value>
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">PythonEditor.RunConfiguration.</value>
|
||||||
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">/home/smart/qtpj/diskmananger/disk_operations.py</value>
|
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">/home/jing/qtpj/diskmanager/system_info.py</value>
|
||||||
<value type="bool" key="ProjectExplorer.RunConfiguration.Customized">true</value>
|
<value type="bool" key="ProjectExplorer.RunConfiguration.Customized">false</value>
|
||||||
<value type="QString" key="ProjectExplorer.RunConfiguration.UniqueId"></value>
|
<value type="QString" key="ProjectExplorer.RunConfiguration.UniqueId"></value>
|
||||||
<value type="QString" key="PythonEditor.RunConfiguation.Script">/home/smart/qtpj/diskmananger/disk_operations.py</value>
|
<value type="QString" key="PythonEditor.RunConfiguation.Script">/home/jing/qtpj/diskmanager/system_info.py</value>
|
||||||
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||||
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||||
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/smart/qtpj/diskmananger</value>
|
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/jing/qtpj/diskmanager</value>
|
||||||
<value type="QString" key="RunConfiguration.X11Forwarding">:0.0</value>
|
<value type="QString" key="RunConfiguration.X11Forwarding">:0</value>
|
||||||
</valuemap>
|
</valuemap>
|
||||||
<value type="qlonglong" key="ProjectExplorer.Target.RunConfigurationCount">4</value>
|
<value type="qlonglong" key="ProjectExplorer.Target.RunConfigurationCount">4</value>
|
||||||
<value type="QString" key="python">/home/smart/qtpj/diskmananger/.qtcreator/Python_3_14_2venv/bin/python</value>
|
<value type="QString" key="python">/home/jing/qtpj/diskmanager/.qtcreator/Python_3_14_2venv_2/bin/python</value>
|
||||||
<value type="QString" key="venv">/home/smart/qtpj/diskmananger/.qtcreator/Python_3_14_2venv</value>
|
<value type="QString" key="venv">/home/jing/qtpj/diskmanager/.qtcreator/Python_3_14_2venv_2</value>
|
||||||
</valuemap>
|
</valuemap>
|
||||||
<value type="qlonglong" key="ProjectExplorer.Target.BuildConfigurationCount">1</value>
|
<value type="qlonglong" key="ProjectExplorer.Target.BuildConfigurationCount">1</value>
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
|
||||||
@@ -254,16 +252,16 @@
|
|||||||
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||||
<value type="bool" key="PE.EnvironmentAspect.PrintOnRun">false</value>
|
<value type="bool" key="PE.EnvironmentAspect.PrintOnRun">false</value>
|
||||||
<value type="QString" key="PerfRecordArgsId">-e cpu-cycles --call-graph dwarf,4096 -F 250</value>
|
<value type="QString" key="PerfRecordArgsId">-e cpu-cycles --call-graph dwarf,4096 -F 250</value>
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">mainwindow.py</value>
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">disk_operations.py</value>
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">PythonEditor.RunConfiguration.</value>
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">PythonEditor.RunConfiguration.</value>
|
||||||
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">/home/smart/qtpj/diskmananger/mainwindow.py</value>
|
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">/home/jing/qtpj/diskmanager/disk_operations.py</value>
|
||||||
<value type="bool" key="ProjectExplorer.RunConfiguration.Customized">true</value>
|
<value type="bool" key="ProjectExplorer.RunConfiguration.Customized">false</value>
|
||||||
<value type="QString" key="ProjectExplorer.RunConfiguration.UniqueId"></value>
|
<value type="QString" key="ProjectExplorer.RunConfiguration.UniqueId"></value>
|
||||||
<value type="QString" key="PythonEditor.RunConfiguation.Script">/home/smart/qtpj/diskmananger/mainwindow.py</value>
|
<value type="QString" key="PythonEditor.RunConfiguation.Script">/home/jing/qtpj/diskmanager/disk_operations.py</value>
|
||||||
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||||
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||||
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/smart/qtpj/diskmananger</value>
|
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/jing/qtpj/diskmanager</value>
|
||||||
<value type="QString" key="RunConfiguration.X11Forwarding">:0.0</value>
|
<value type="QString" key="RunConfiguration.X11Forwarding">:0</value>
|
||||||
</valuemap>
|
</valuemap>
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.1">
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.1">
|
||||||
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
||||||
@@ -275,16 +273,16 @@
|
|||||||
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||||
<value type="bool" key="PE.EnvironmentAspect.PrintOnRun">false</value>
|
<value type="bool" key="PE.EnvironmentAspect.PrintOnRun">false</value>
|
||||||
<value type="QString" key="PerfRecordArgsId">-e cpu-cycles --call-graph dwarf,4096 -F 250</value>
|
<value type="QString" key="PerfRecordArgsId">-e cpu-cycles --call-graph dwarf,4096 -F 250</value>
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">system_info.py</value>
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">logger_config.py</value>
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">PythonEditor.RunConfiguration.</value>
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">PythonEditor.RunConfiguration.</value>
|
||||||
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">/home/smart/qtpj/diskmananger/system_info.py</value>
|
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">/home/jing/qtpj/diskmanager/logger_config.py</value>
|
||||||
<value type="bool" key="ProjectExplorer.RunConfiguration.Customized">true</value>
|
<value type="bool" key="ProjectExplorer.RunConfiguration.Customized">false</value>
|
||||||
<value type="QString" key="ProjectExplorer.RunConfiguration.UniqueId"></value>
|
<value type="QString" key="ProjectExplorer.RunConfiguration.UniqueId"></value>
|
||||||
<value type="QString" key="PythonEditor.RunConfiguation.Script">/home/smart/qtpj/diskmananger/system_info.py</value>
|
<value type="QString" key="PythonEditor.RunConfiguation.Script">/home/jing/qtpj/diskmanager/logger_config.py</value>
|
||||||
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||||
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||||
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/smart/qtpj/diskmananger</value>
|
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/jing/qtpj/diskmanager</value>
|
||||||
<value type="QString" key="RunConfiguration.X11Forwarding">:0.0</value>
|
<value type="QString" key="RunConfiguration.X11Forwarding">:0</value>
|
||||||
</valuemap>
|
</valuemap>
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.2">
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.2">
|
||||||
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
||||||
@@ -296,16 +294,16 @@
|
|||||||
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||||
<value type="bool" key="PE.EnvironmentAspect.PrintOnRun">false</value>
|
<value type="bool" key="PE.EnvironmentAspect.PrintOnRun">false</value>
|
||||||
<value type="QString" key="PerfRecordArgsId">-e cpu-cycles --call-graph dwarf,4096 -F 250</value>
|
<value type="QString" key="PerfRecordArgsId">-e cpu-cycles --call-graph dwarf,4096 -F 250</value>
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">logger_config.py</value>
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">mainwindow.py</value>
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">PythonEditor.RunConfiguration.</value>
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">PythonEditor.RunConfiguration.</value>
|
||||||
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">/home/smart/qtpj/diskmananger/logger_config.py</value>
|
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">/home/jing/qtpj/diskmanager/mainwindow.py</value>
|
||||||
<value type="bool" key="ProjectExplorer.RunConfiguration.Customized">true</value>
|
<value type="bool" key="ProjectExplorer.RunConfiguration.Customized">false</value>
|
||||||
<value type="QString" key="ProjectExplorer.RunConfiguration.UniqueId"></value>
|
<value type="QString" key="ProjectExplorer.RunConfiguration.UniqueId"></value>
|
||||||
<value type="QString" key="PythonEditor.RunConfiguation.Script">/home/smart/qtpj/diskmananger/logger_config.py</value>
|
<value type="QString" key="PythonEditor.RunConfiguation.Script">/home/jing/qtpj/diskmanager/mainwindow.py</value>
|
||||||
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||||
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||||
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/smart/qtpj/diskmananger</value>
|
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/jing/qtpj/diskmanager</value>
|
||||||
<value type="QString" key="RunConfiguration.X11Forwarding">:0.0</value>
|
<value type="QString" key="RunConfiguration.X11Forwarding">:0</value>
|
||||||
</valuemap>
|
</valuemap>
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.3">
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.3">
|
||||||
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
||||||
@@ -317,16 +315,16 @@
|
|||||||
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||||
<value type="bool" key="PE.EnvironmentAspect.PrintOnRun">false</value>
|
<value type="bool" key="PE.EnvironmentAspect.PrintOnRun">false</value>
|
||||||
<value type="QString" key="PerfRecordArgsId">-e cpu-cycles --call-graph dwarf,4096 -F 250</value>
|
<value type="QString" key="PerfRecordArgsId">-e cpu-cycles --call-graph dwarf,4096 -F 250</value>
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">disk_operations.py</value>
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">system_info.py</value>
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">PythonEditor.RunConfiguration.</value>
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">PythonEditor.RunConfiguration.</value>
|
||||||
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">/home/smart/qtpj/diskmananger/disk_operations.py</value>
|
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">/home/jing/qtpj/diskmanager/system_info.py</value>
|
||||||
<value type="bool" key="ProjectExplorer.RunConfiguration.Customized">true</value>
|
<value type="bool" key="ProjectExplorer.RunConfiguration.Customized">false</value>
|
||||||
<value type="QString" key="ProjectExplorer.RunConfiguration.UniqueId"></value>
|
<value type="QString" key="ProjectExplorer.RunConfiguration.UniqueId"></value>
|
||||||
<value type="QString" key="PythonEditor.RunConfiguation.Script">/home/smart/qtpj/diskmananger/disk_operations.py</value>
|
<value type="QString" key="PythonEditor.RunConfiguation.Script">/home/jing/qtpj/diskmanager/system_info.py</value>
|
||||||
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||||
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||||
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/smart/qtpj/diskmananger</value>
|
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/jing/qtpj/diskmanager</value>
|
||||||
<value type="QString" key="RunConfiguration.X11Forwarding">:0.0</value>
|
<value type="QString" key="RunConfiguration.X11Forwarding">:0</value>
|
||||||
</valuemap>
|
</valuemap>
|
||||||
<value type="qlonglong" key="ProjectExplorer.Target.RunConfigurationCount">4</value>
|
<value type="qlonglong" key="ProjectExplorer.Target.RunConfigurationCount">4</value>
|
||||||
</valuemap>
|
</valuemap>
|
||||||
|
|||||||
342
.qtcreator/pyproject.toml.user.d278bd6
Normal file
342
.qtcreator/pyproject.toml.user.d278bd6
Normal file
@@ -0,0 +1,342 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE QtCreatorProject>
|
||||||
|
<!-- Written by QtCreator 18.0.2, 2026-02-01T17:38:34. -->
|
||||||
|
<qtcreator>
|
||||||
|
<data>
|
||||||
|
<variable>EnvironmentId</variable>
|
||||||
|
<value type="QByteArray">{d278bd62-883b-4816-a712-738287b946d3}</value>
|
||||||
|
</data>
|
||||||
|
<data>
|
||||||
|
<variable>ProjectExplorer.Project.ActiveTarget</variable>
|
||||||
|
<value type="qlonglong">0</value>
|
||||||
|
</data>
|
||||||
|
<data>
|
||||||
|
<variable>ProjectExplorer.Project.EditorSettings</variable>
|
||||||
|
<valuemap type="QVariantMap">
|
||||||
|
<value type="bool" key="EditorConfiguration.AutoDetect">true</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.AutoIndent">true</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="qlonglong" 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.LineEndingBehavior">0</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="int" key="EditorConfiguration.PreferAfterWhitespaceComments">0</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.PreferSingleLineComments">false</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
|
||||||
|
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">2</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="bool" key="EditorConfiguration.UseIndenter">false</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="QString" key="EditorConfiguration.ignoreFileTypes">*.md, *.MD, Makefile</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.skipTrailingWhitespace">true</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.tintMarginArea">true</value>
|
||||||
|
</valuemap>
|
||||||
|
</data>
|
||||||
|
<data>
|
||||||
|
<variable>ProjectExplorer.Project.PluginSettings</variable>
|
||||||
|
<valuemap type="QVariantMap">
|
||||||
|
<valuemap type="QVariantMap" key="AutoTest.ActiveFrameworks">
|
||||||
|
<value type="bool" key="AutoTest.Framework.Boost">true</value>
|
||||||
|
<value type="bool" key="AutoTest.Framework.CTest">false</value>
|
||||||
|
<value type="bool" key="AutoTest.Framework.Catch">true</value>
|
||||||
|
<value type="bool" key="AutoTest.Framework.GTest">true</value>
|
||||||
|
<value type="bool" key="AutoTest.Framework.QtQuickTest">true</value>
|
||||||
|
<value type="bool" key="AutoTest.Framework.QtTest">true</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="bool" key="AutoTest.ApplyFilter">false</value>
|
||||||
|
<valuemap type="QVariantMap" key="AutoTest.CheckStates"/>
|
||||||
|
<valuelist type="QVariantList" key="AutoTest.PathFilters"/>
|
||||||
|
<value type="int" key="AutoTest.RunAfterBuild">0</value>
|
||||||
|
<value type="bool" key="AutoTest.UseGlobal">true</value>
|
||||||
|
<valuemap type="QVariantMap" key="ClangTools">
|
||||||
|
<value type="bool" key="ClangTools.AnalyzeOpenFiles">true</value>
|
||||||
|
<value type="bool" key="ClangTools.BuildBeforeAnalysis">true</value>
|
||||||
|
<value type="QString" key="ClangTools.DiagnosticConfig">Builtin.DefaultTidyAndClazy</value>
|
||||||
|
<value type="int" key="ClangTools.ParallelJobs">2</value>
|
||||||
|
<value type="bool" key="ClangTools.PreferConfigFile">true</value>
|
||||||
|
<valuelist type="QVariantList" key="ClangTools.SelectedDirs"/>
|
||||||
|
<valuelist type="QVariantList" key="ClangTools.SelectedFiles"/>
|
||||||
|
<valuelist type="QVariantList" key="ClangTools.SuppressedDiagnostics"/>
|
||||||
|
<value type="bool" key="ClangTools.UseGlobalSettings">true</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="RcSync">0</value>
|
||||||
|
</valuemap>
|
||||||
|
</data>
|
||||||
|
<data>
|
||||||
|
<variable>ProjectExplorer.Project.Target.0</variable>
|
||||||
|
<valuemap type="QVariantMap">
|
||||||
|
<value type="QString" key="DeviceType">Desktop</value>
|
||||||
|
<value type="bool" key="HasPerBcDcs">true</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Python 3.14.2</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Python 3.14.2</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{bf68bfb7-0daf-4abe-a8f9-98ada8c9b297}</value>
|
||||||
|
<value type="qlonglong" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
|
||||||
|
<value type="qlonglong" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
|
||||||
|
<value type="qlonglong" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
|
||||||
|
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/smart/qtpj/diskmananger/.qtcreator/Python_3_14_2venv</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">Python.PysideBuildStep</value>
|
||||||
|
<value type="QString" key="Python.PySideProjectTool">/home/smart/qtpj/diskmananger/.qtcreator/Python_3_14_2venv/bin/pyside6-project</value>
|
||||||
|
<value type="QString" key="Python.PySideUic">/home/smart/qtpj/diskmananger/.qtcreator/Python_3_14_2venv/bin/pyside6-uic</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">构建</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">构建</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||||
|
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">清除</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">清除</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.CustomParsers"/>
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
|
||||||
|
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Python 3.14.2 Virtual Environment</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Python.PySideBuildConfiguration</value>
|
||||||
|
<value type="qlonglong" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
|
||||||
|
<value type="qlonglong" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||||
|
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">部署</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">部署</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.DeployConfiguration.CustomData"/>
|
||||||
|
<value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="qlonglong" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
|
||||||
|
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
||||||
|
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
|
||||||
|
<value type="int" key="Analyzer.Valgrind.Callgrind.CostFormat">0</value>
|
||||||
|
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
|
||||||
|
<valuelist type="QVariantList" key="CustomOutputParsers"/>
|
||||||
|
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||||
|
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||||
|
<value type="bool" key="PE.EnvironmentAspect.PrintOnRun">false</value>
|
||||||
|
<value type="QString" key="PerfRecordArgsId">-e cpu-cycles --call-graph dwarf,4096 -F 250</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">mainwindow.py</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">PythonEditor.RunConfiguration.</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">/home/smart/qtpj/diskmananger/mainwindow.py</value>
|
||||||
|
<value type="bool" key="ProjectExplorer.RunConfiguration.Customized">true</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.RunConfiguration.UniqueId"></value>
|
||||||
|
<value type="QString" key="PythonEditor.RunConfiguation.Script">/home/smart/qtpj/diskmananger/mainwindow.py</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||||
|
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/smart/qtpj/diskmananger</value>
|
||||||
|
<value type="QString" key="RunConfiguration.X11Forwarding">:0.0</value>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.1">
|
||||||
|
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
||||||
|
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
|
||||||
|
<value type="int" key="Analyzer.Valgrind.Callgrind.CostFormat">0</value>
|
||||||
|
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
|
||||||
|
<valuelist type="QVariantList" key="CustomOutputParsers"/>
|
||||||
|
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||||
|
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||||
|
<value type="bool" key="PE.EnvironmentAspect.PrintOnRun">false</value>
|
||||||
|
<value type="QString" key="PerfRecordArgsId">-e cpu-cycles --call-graph dwarf,4096 -F 250</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">system_info.py</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">PythonEditor.RunConfiguration.</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">/home/smart/qtpj/diskmananger/system_info.py</value>
|
||||||
|
<value type="bool" key="ProjectExplorer.RunConfiguration.Customized">true</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.RunConfiguration.UniqueId"></value>
|
||||||
|
<value type="QString" key="PythonEditor.RunConfiguation.Script">/home/smart/qtpj/diskmananger/system_info.py</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||||
|
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/smart/qtpj/diskmananger</value>
|
||||||
|
<value type="QString" key="RunConfiguration.X11Forwarding">:0.0</value>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.2">
|
||||||
|
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
||||||
|
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
|
||||||
|
<value type="int" key="Analyzer.Valgrind.Callgrind.CostFormat">0</value>
|
||||||
|
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
|
||||||
|
<valuelist type="QVariantList" key="CustomOutputParsers"/>
|
||||||
|
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||||
|
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||||
|
<value type="bool" key="PE.EnvironmentAspect.PrintOnRun">false</value>
|
||||||
|
<value type="QString" key="PerfRecordArgsId">-e cpu-cycles --call-graph dwarf,4096 -F 250</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">logger_config.py</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">PythonEditor.RunConfiguration.</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">/home/smart/qtpj/diskmananger/logger_config.py</value>
|
||||||
|
<value type="bool" key="ProjectExplorer.RunConfiguration.Customized">true</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.RunConfiguration.UniqueId"></value>
|
||||||
|
<value type="QString" key="PythonEditor.RunConfiguation.Script">/home/smart/qtpj/diskmananger/logger_config.py</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||||
|
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/smart/qtpj/diskmananger</value>
|
||||||
|
<value type="QString" key="RunConfiguration.X11Forwarding">:0.0</value>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.3">
|
||||||
|
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
||||||
|
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
|
||||||
|
<value type="int" key="Analyzer.Valgrind.Callgrind.CostFormat">0</value>
|
||||||
|
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
|
||||||
|
<valuelist type="QVariantList" key="CustomOutputParsers"/>
|
||||||
|
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||||
|
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||||
|
<value type="bool" key="PE.EnvironmentAspect.PrintOnRun">false</value>
|
||||||
|
<value type="QString" key="PerfRecordArgsId">-e cpu-cycles --call-graph dwarf,4096 -F 250</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">disk_operations.py</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">PythonEditor.RunConfiguration.</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">/home/smart/qtpj/diskmananger/disk_operations.py</value>
|
||||||
|
<value type="bool" key="ProjectExplorer.RunConfiguration.Customized">true</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.RunConfiguration.UniqueId"></value>
|
||||||
|
<value type="QString" key="PythonEditor.RunConfiguation.Script">/home/smart/qtpj/diskmananger/disk_operations.py</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||||
|
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/smart/qtpj/diskmananger</value>
|
||||||
|
<value type="QString" key="RunConfiguration.X11Forwarding">:0.0</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="qlonglong" key="ProjectExplorer.Target.RunConfigurationCount">4</value>
|
||||||
|
<value type="QString" key="python">/home/smart/qtpj/diskmananger/.qtcreator/Python_3_14_2venv/bin/python</value>
|
||||||
|
<value type="QString" key="venv">/home/smart/qtpj/diskmananger/.qtcreator/Python_3_14_2venv</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="qlonglong" key="ProjectExplorer.Target.BuildConfigurationCount">1</value>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||||
|
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">部署</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">部署</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.DeployConfiguration.CustomData"/>
|
||||||
|
<value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="qlonglong" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
|
||||||
|
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
||||||
|
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
|
||||||
|
<value type="int" key="Analyzer.Valgrind.Callgrind.CostFormat">0</value>
|
||||||
|
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
|
||||||
|
<valuelist type="QVariantList" key="CustomOutputParsers"/>
|
||||||
|
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||||
|
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||||
|
<value type="bool" key="PE.EnvironmentAspect.PrintOnRun">false</value>
|
||||||
|
<value type="QString" key="PerfRecordArgsId">-e cpu-cycles --call-graph dwarf,4096 -F 250</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">mainwindow.py</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">PythonEditor.RunConfiguration.</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">/home/smart/qtpj/diskmananger/mainwindow.py</value>
|
||||||
|
<value type="bool" key="ProjectExplorer.RunConfiguration.Customized">true</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.RunConfiguration.UniqueId"></value>
|
||||||
|
<value type="QString" key="PythonEditor.RunConfiguation.Script">/home/smart/qtpj/diskmananger/mainwindow.py</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||||
|
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/smart/qtpj/diskmananger</value>
|
||||||
|
<value type="QString" key="RunConfiguration.X11Forwarding">:0.0</value>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.1">
|
||||||
|
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
||||||
|
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
|
||||||
|
<value type="int" key="Analyzer.Valgrind.Callgrind.CostFormat">0</value>
|
||||||
|
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
|
||||||
|
<valuelist type="QVariantList" key="CustomOutputParsers"/>
|
||||||
|
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||||
|
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||||
|
<value type="bool" key="PE.EnvironmentAspect.PrintOnRun">false</value>
|
||||||
|
<value type="QString" key="PerfRecordArgsId">-e cpu-cycles --call-graph dwarf,4096 -F 250</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">system_info.py</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">PythonEditor.RunConfiguration.</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">/home/smart/qtpj/diskmananger/system_info.py</value>
|
||||||
|
<value type="bool" key="ProjectExplorer.RunConfiguration.Customized">true</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.RunConfiguration.UniqueId"></value>
|
||||||
|
<value type="QString" key="PythonEditor.RunConfiguation.Script">/home/smart/qtpj/diskmananger/system_info.py</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||||
|
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/smart/qtpj/diskmananger</value>
|
||||||
|
<value type="QString" key="RunConfiguration.X11Forwarding">:0.0</value>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.2">
|
||||||
|
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
||||||
|
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
|
||||||
|
<value type="int" key="Analyzer.Valgrind.Callgrind.CostFormat">0</value>
|
||||||
|
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
|
||||||
|
<valuelist type="QVariantList" key="CustomOutputParsers"/>
|
||||||
|
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||||
|
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||||
|
<value type="bool" key="PE.EnvironmentAspect.PrintOnRun">false</value>
|
||||||
|
<value type="QString" key="PerfRecordArgsId">-e cpu-cycles --call-graph dwarf,4096 -F 250</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">logger_config.py</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">PythonEditor.RunConfiguration.</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">/home/smart/qtpj/diskmananger/logger_config.py</value>
|
||||||
|
<value type="bool" key="ProjectExplorer.RunConfiguration.Customized">true</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.RunConfiguration.UniqueId"></value>
|
||||||
|
<value type="QString" key="PythonEditor.RunConfiguation.Script">/home/smart/qtpj/diskmananger/logger_config.py</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||||
|
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/smart/qtpj/diskmananger</value>
|
||||||
|
<value type="QString" key="RunConfiguration.X11Forwarding">:0.0</value>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.3">
|
||||||
|
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
||||||
|
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
|
||||||
|
<value type="int" key="Analyzer.Valgrind.Callgrind.CostFormat">0</value>
|
||||||
|
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
|
||||||
|
<valuelist type="QVariantList" key="CustomOutputParsers"/>
|
||||||
|
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||||
|
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||||
|
<value type="bool" key="PE.EnvironmentAspect.PrintOnRun">false</value>
|
||||||
|
<value type="QString" key="PerfRecordArgsId">-e cpu-cycles --call-graph dwarf,4096 -F 250</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">disk_operations.py</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">PythonEditor.RunConfiguration.</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">/home/smart/qtpj/diskmananger/disk_operations.py</value>
|
||||||
|
<value type="bool" key="ProjectExplorer.RunConfiguration.Customized">true</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.RunConfiguration.UniqueId"></value>
|
||||||
|
<value type="QString" key="PythonEditor.RunConfiguation.Script">/home/smart/qtpj/diskmananger/disk_operations.py</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||||
|
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/smart/qtpj/diskmananger</value>
|
||||||
|
<value type="QString" key="RunConfiguration.X11Forwarding">:0.0</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="qlonglong" key="ProjectExplorer.Target.RunConfigurationCount">4</value>
|
||||||
|
</valuemap>
|
||||||
|
</data>
|
||||||
|
<data>
|
||||||
|
<variable>ProjectExplorer.Project.TargetCount</variable>
|
||||||
|
<value type="qlonglong">1</value>
|
||||||
|
</data>
|
||||||
|
<data>
|
||||||
|
<variable>Version</variable>
|
||||||
|
<value type="int">22</value>
|
||||||
|
</data>
|
||||||
|
</qtcreator>
|
||||||
342
.qtcreator/pyproject.toml.user.de30b19
Normal file
342
.qtcreator/pyproject.toml.user.de30b19
Normal file
@@ -0,0 +1,342 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE QtCreatorProject>
|
||||||
|
<!-- Written by QtCreator 18.0.2, 2026-02-02T03:35:26. -->
|
||||||
|
<qtcreator>
|
||||||
|
<data>
|
||||||
|
<variable>EnvironmentId</variable>
|
||||||
|
<value type="QByteArray">{de30b19d-4c33-4d24-8691-fc38518ebab9}</value>
|
||||||
|
</data>
|
||||||
|
<data>
|
||||||
|
<variable>ProjectExplorer.Project.ActiveTarget</variable>
|
||||||
|
<value type="qlonglong">0</value>
|
||||||
|
</data>
|
||||||
|
<data>
|
||||||
|
<variable>ProjectExplorer.Project.EditorSettings</variable>
|
||||||
|
<valuemap type="QVariantMap">
|
||||||
|
<value type="bool" key="EditorConfiguration.AutoDetect">true</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.AutoIndent">true</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="qlonglong" 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.LineEndingBehavior">0</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="int" key="EditorConfiguration.PreferAfterWhitespaceComments">0</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.PreferSingleLineComments">false</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
|
||||||
|
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">2</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="bool" key="EditorConfiguration.UseIndenter">false</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="QString" key="EditorConfiguration.ignoreFileTypes">*.md, *.MD, Makefile</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.skipTrailingWhitespace">true</value>
|
||||||
|
<value type="bool" key="EditorConfiguration.tintMarginArea">true</value>
|
||||||
|
</valuemap>
|
||||||
|
</data>
|
||||||
|
<data>
|
||||||
|
<variable>ProjectExplorer.Project.PluginSettings</variable>
|
||||||
|
<valuemap type="QVariantMap">
|
||||||
|
<valuemap type="QVariantMap" key="AutoTest.ActiveFrameworks">
|
||||||
|
<value type="bool" key="AutoTest.Framework.Boost">true</value>
|
||||||
|
<value type="bool" key="AutoTest.Framework.CTest">false</value>
|
||||||
|
<value type="bool" key="AutoTest.Framework.Catch">true</value>
|
||||||
|
<value type="bool" key="AutoTest.Framework.GTest">true</value>
|
||||||
|
<value type="bool" key="AutoTest.Framework.QtQuickTest">true</value>
|
||||||
|
<value type="bool" key="AutoTest.Framework.QtTest">true</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="bool" key="AutoTest.ApplyFilter">false</value>
|
||||||
|
<valuemap type="QVariantMap" key="AutoTest.CheckStates"/>
|
||||||
|
<valuelist type="QVariantList" key="AutoTest.PathFilters"/>
|
||||||
|
<value type="int" key="AutoTest.RunAfterBuild">0</value>
|
||||||
|
<value type="bool" key="AutoTest.UseGlobal">true</value>
|
||||||
|
<valuemap type="QVariantMap" key="ClangTools">
|
||||||
|
<value type="bool" key="ClangTools.AnalyzeOpenFiles">true</value>
|
||||||
|
<value type="bool" key="ClangTools.BuildBeforeAnalysis">true</value>
|
||||||
|
<value type="QString" key="ClangTools.DiagnosticConfig">Builtin.DefaultTidyAndClazy</value>
|
||||||
|
<value type="int" key="ClangTools.ParallelJobs">4</value>
|
||||||
|
<value type="bool" key="ClangTools.PreferConfigFile">true</value>
|
||||||
|
<valuelist type="QVariantList" key="ClangTools.SelectedDirs"/>
|
||||||
|
<valuelist type="QVariantList" key="ClangTools.SelectedFiles"/>
|
||||||
|
<valuelist type="QVariantList" key="ClangTools.SuppressedDiagnostics"/>
|
||||||
|
<value type="bool" key="ClangTools.UseGlobalSettings">true</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="RcSync">0</value>
|
||||||
|
</valuemap>
|
||||||
|
</data>
|
||||||
|
<data>
|
||||||
|
<variable>ProjectExplorer.Project.Target.0</variable>
|
||||||
|
<valuemap type="QVariantMap">
|
||||||
|
<value type="QString" key="DeviceType">Desktop</value>
|
||||||
|
<value type="bool" key="HasPerBcDcs">true</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Python 3.14.2</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Python 3.14.2</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{71fad823-1bd9-4eea-bebc-1fce880d5c55}</value>
|
||||||
|
<value type="qlonglong" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
|
||||||
|
<value type="qlonglong" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
|
||||||
|
<value type="qlonglong" key="ProjectExplorer.Target.ActiveRunConfiguration">2</value>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
|
||||||
|
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/jing/qtpj/diskmanager/.qtcreator/Python_3_14_2venv</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">Python.PysideBuildStep</value>
|
||||||
|
<value type="QString" key="Python.PySideProjectTool">/home/jing/qtpj/diskmanager/.qtcreator/Python_3_14_2venv/bin/pyside6-project</value>
|
||||||
|
<value type="QString" key="Python.PySideUic">/home/jing/qtpj/diskmanager/.qtcreator/Python_3_14_2venv/bin/pyside6-uic</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">构建</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">构建</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||||
|
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">清除</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">清除</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.CustomParsers"/>
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
|
||||||
|
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Python 3.14.2 Virtual Environment</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Python.PySideBuildConfiguration</value>
|
||||||
|
<value type="qlonglong" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
|
||||||
|
<value type="qlonglong" key="ProjectExplorer.Target.ActiveRunConfiguration">2</value>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||||
|
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">部署</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">部署</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.DeployConfiguration.CustomData"/>
|
||||||
|
<value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="qlonglong" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
|
||||||
|
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
||||||
|
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
|
||||||
|
<value type="int" key="Analyzer.Valgrind.Callgrind.CostFormat">0</value>
|
||||||
|
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
|
||||||
|
<valuelist type="QVariantList" key="CustomOutputParsers"/>
|
||||||
|
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||||
|
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||||
|
<value type="bool" key="PE.EnvironmentAspect.PrintOnRun">false</value>
|
||||||
|
<value type="QString" key="PerfRecordArgsId">-e cpu-cycles --call-graph dwarf,4096 -F 250</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">disk_operations.py</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">PythonEditor.RunConfiguration.</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">/home/jing/qtpj/diskmanager/disk_operations.py</value>
|
||||||
|
<value type="bool" key="ProjectExplorer.RunConfiguration.Customized">false</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.RunConfiguration.UniqueId"></value>
|
||||||
|
<value type="QString" key="PythonEditor.RunConfiguation.Script">/home/jing/qtpj/diskmanager/disk_operations.py</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||||
|
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/jing/qtpj/diskmanager</value>
|
||||||
|
<value type="QString" key="RunConfiguration.X11Forwarding">:0</value>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.1">
|
||||||
|
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
||||||
|
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
|
||||||
|
<value type="int" key="Analyzer.Valgrind.Callgrind.CostFormat">0</value>
|
||||||
|
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
|
||||||
|
<valuelist type="QVariantList" key="CustomOutputParsers"/>
|
||||||
|
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||||
|
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||||
|
<value type="bool" key="PE.EnvironmentAspect.PrintOnRun">false</value>
|
||||||
|
<value type="QString" key="PerfRecordArgsId">-e cpu-cycles --call-graph dwarf,4096 -F 250</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">logger_config.py</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">PythonEditor.RunConfiguration.</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">/home/jing/qtpj/diskmanager/logger_config.py</value>
|
||||||
|
<value type="bool" key="ProjectExplorer.RunConfiguration.Customized">false</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.RunConfiguration.UniqueId"></value>
|
||||||
|
<value type="QString" key="PythonEditor.RunConfiguation.Script">/home/jing/qtpj/diskmanager/logger_config.py</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||||
|
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/jing/qtpj/diskmanager</value>
|
||||||
|
<value type="QString" key="RunConfiguration.X11Forwarding">:0</value>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.2">
|
||||||
|
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
||||||
|
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
|
||||||
|
<value type="int" key="Analyzer.Valgrind.Callgrind.CostFormat">0</value>
|
||||||
|
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
|
||||||
|
<valuelist type="QVariantList" key="CustomOutputParsers"/>
|
||||||
|
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||||
|
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||||
|
<value type="bool" key="PE.EnvironmentAspect.PrintOnRun">false</value>
|
||||||
|
<value type="QString" key="PerfRecordArgsId">-e cpu-cycles --call-graph dwarf,4096 -F 250</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">mainwindow.py</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">PythonEditor.RunConfiguration.</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">/home/jing/qtpj/diskmanager/mainwindow.py</value>
|
||||||
|
<value type="bool" key="ProjectExplorer.RunConfiguration.Customized">false</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.RunConfiguration.UniqueId"></value>
|
||||||
|
<value type="QString" key="PythonEditor.RunConfiguation.Script">/home/jing/qtpj/diskmanager/mainwindow.py</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||||
|
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/jing/qtpj/diskmanager</value>
|
||||||
|
<value type="QString" key="RunConfiguration.X11Forwarding">:0</value>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.3">
|
||||||
|
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
||||||
|
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
|
||||||
|
<value type="int" key="Analyzer.Valgrind.Callgrind.CostFormat">0</value>
|
||||||
|
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
|
||||||
|
<valuelist type="QVariantList" key="CustomOutputParsers"/>
|
||||||
|
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||||
|
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||||
|
<value type="bool" key="PE.EnvironmentAspect.PrintOnRun">false</value>
|
||||||
|
<value type="QString" key="PerfRecordArgsId">-e cpu-cycles --call-graph dwarf,4096 -F 250</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">system_info.py</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">PythonEditor.RunConfiguration.</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">/home/jing/qtpj/diskmanager/system_info.py</value>
|
||||||
|
<value type="bool" key="ProjectExplorer.RunConfiguration.Customized">false</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.RunConfiguration.UniqueId"></value>
|
||||||
|
<value type="QString" key="PythonEditor.RunConfiguation.Script">/home/jing/qtpj/diskmanager/system_info.py</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||||
|
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/jing/qtpj/diskmanager</value>
|
||||||
|
<value type="QString" key="RunConfiguration.X11Forwarding">:0</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="qlonglong" key="ProjectExplorer.Target.RunConfigurationCount">4</value>
|
||||||
|
<value type="QString" key="python">/home/jing/qtpj/diskmanager/.qtcreator/Python_3_14_2venv/bin/python</value>
|
||||||
|
<value type="QString" key="venv">/home/jing/qtpj/diskmanager/.qtcreator/Python_3_14_2venv</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="qlonglong" key="ProjectExplorer.Target.BuildConfigurationCount">1</value>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||||
|
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">部署</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">部署</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.DeployConfiguration.CustomData"/>
|
||||||
|
<value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="qlonglong" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
|
||||||
|
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
||||||
|
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
|
||||||
|
<value type="int" key="Analyzer.Valgrind.Callgrind.CostFormat">0</value>
|
||||||
|
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
|
||||||
|
<valuelist type="QVariantList" key="CustomOutputParsers"/>
|
||||||
|
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||||
|
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||||
|
<value type="bool" key="PE.EnvironmentAspect.PrintOnRun">false</value>
|
||||||
|
<value type="QString" key="PerfRecordArgsId">-e cpu-cycles --call-graph dwarf,4096 -F 250</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">disk_operations.py</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">PythonEditor.RunConfiguration.</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">/home/jing/qtpj/diskmanager/disk_operations.py</value>
|
||||||
|
<value type="bool" key="ProjectExplorer.RunConfiguration.Customized">false</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.RunConfiguration.UniqueId"></value>
|
||||||
|
<value type="QString" key="PythonEditor.RunConfiguation.Script">/home/jing/qtpj/diskmanager/disk_operations.py</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||||
|
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/jing/qtpj/diskmanager</value>
|
||||||
|
<value type="QString" key="RunConfiguration.X11Forwarding">:0</value>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.1">
|
||||||
|
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
||||||
|
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
|
||||||
|
<value type="int" key="Analyzer.Valgrind.Callgrind.CostFormat">0</value>
|
||||||
|
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
|
||||||
|
<valuelist type="QVariantList" key="CustomOutputParsers"/>
|
||||||
|
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||||
|
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||||
|
<value type="bool" key="PE.EnvironmentAspect.PrintOnRun">false</value>
|
||||||
|
<value type="QString" key="PerfRecordArgsId">-e cpu-cycles --call-graph dwarf,4096 -F 250</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">logger_config.py</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">PythonEditor.RunConfiguration.</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">/home/jing/qtpj/diskmanager/logger_config.py</value>
|
||||||
|
<value type="bool" key="ProjectExplorer.RunConfiguration.Customized">false</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.RunConfiguration.UniqueId"></value>
|
||||||
|
<value type="QString" key="PythonEditor.RunConfiguation.Script">/home/jing/qtpj/diskmanager/logger_config.py</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||||
|
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/jing/qtpj/diskmanager</value>
|
||||||
|
<value type="QString" key="RunConfiguration.X11Forwarding">:0</value>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.2">
|
||||||
|
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
||||||
|
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
|
||||||
|
<value type="int" key="Analyzer.Valgrind.Callgrind.CostFormat">0</value>
|
||||||
|
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
|
||||||
|
<valuelist type="QVariantList" key="CustomOutputParsers"/>
|
||||||
|
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||||
|
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||||
|
<value type="bool" key="PE.EnvironmentAspect.PrintOnRun">false</value>
|
||||||
|
<value type="QString" key="PerfRecordArgsId">-e cpu-cycles --call-graph dwarf,4096 -F 250</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">mainwindow.py</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">PythonEditor.RunConfiguration.</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">/home/jing/qtpj/diskmanager/mainwindow.py</value>
|
||||||
|
<value type="bool" key="ProjectExplorer.RunConfiguration.Customized">false</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.RunConfiguration.UniqueId"></value>
|
||||||
|
<value type="QString" key="PythonEditor.RunConfiguation.Script">/home/jing/qtpj/diskmanager/mainwindow.py</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||||
|
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/jing/qtpj/diskmanager</value>
|
||||||
|
<value type="QString" key="RunConfiguration.X11Forwarding">:0</value>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.3">
|
||||||
|
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
||||||
|
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
|
||||||
|
<value type="int" key="Analyzer.Valgrind.Callgrind.CostFormat">0</value>
|
||||||
|
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
|
||||||
|
<valuelist type="QVariantList" key="CustomOutputParsers"/>
|
||||||
|
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||||
|
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||||
|
<value type="bool" key="PE.EnvironmentAspect.PrintOnRun">false</value>
|
||||||
|
<value type="QString" key="PerfRecordArgsId">-e cpu-cycles --call-graph dwarf,4096 -F 250</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">system_info.py</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">PythonEditor.RunConfiguration.</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">/home/jing/qtpj/diskmanager/system_info.py</value>
|
||||||
|
<value type="bool" key="ProjectExplorer.RunConfiguration.Customized">false</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.RunConfiguration.UniqueId"></value>
|
||||||
|
<value type="QString" key="PythonEditor.RunConfiguation.Script">/home/jing/qtpj/diskmanager/system_info.py</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||||
|
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/jing/qtpj/diskmanager</value>
|
||||||
|
<value type="QString" key="RunConfiguration.X11Forwarding">:0</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="qlonglong" key="ProjectExplorer.Target.RunConfigurationCount">4</value>
|
||||||
|
</valuemap>
|
||||||
|
</data>
|
||||||
|
<data>
|
||||||
|
<variable>ProjectExplorer.Project.TargetCount</variable>
|
||||||
|
<value type="qlonglong">1</value>
|
||||||
|
</data>
|
||||||
|
<data>
|
||||||
|
<variable>Version</variable>
|
||||||
|
<value type="int">22</value>
|
||||||
|
</data>
|
||||||
|
</qtcreator>
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
24
form.ui
24
form.ui
@@ -100,11 +100,33 @@
|
|||||||
<attribute name="title">
|
<attribute name="title">
|
||||||
<string>RAID 管理</string>
|
<string>RAID 管理</string>
|
||||||
</attribute>
|
</attribute>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_raid">
|
||||||
|
<item>
|
||||||
|
<widget class="QTreeWidget" name="treeWidget_raid">
|
||||||
|
<column>
|
||||||
|
<property name="text">
|
||||||
|
<string>1</string>
|
||||||
|
</property>
|
||||||
|
</column>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QWidget" name="tab_lvm">
|
<widget class="QWidget" name="tab_lvm">
|
||||||
<attribute name="title">
|
<attribute name="title">
|
||||||
<string>LVM 管理</string>
|
<string>LVM 管理</string>
|
||||||
</attribute>
|
</attribute>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_lvm">
|
||||||
|
<item>
|
||||||
|
<widget class="QTreeWidget" name="treeWidget_lvm">
|
||||||
|
<column>
|
||||||
|
<property name="text">
|
||||||
|
<string>1</string>
|
||||||
|
</property>
|
||||||
|
</column>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
@@ -130,7 +152,7 @@
|
|||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>1000</width>
|
<width>1000</width>
|
||||||
<height>22</height>
|
<height>23</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
|
|||||||
210
mainwindow.py
210
mainwindow.py
@@ -1,18 +1,14 @@
|
|||||||
# mainwindow.py
|
# mainwindow.py
|
||||||
import sys
|
import sys
|
||||||
import logging # 导入 logging 模块
|
import logging
|
||||||
|
|
||||||
from PySide6.QtWidgets import (QApplication, QMainWindow, QTreeWidgetItem,
|
from PySide6.QtWidgets import (QApplication, QMainWindow, QTreeWidgetItem,
|
||||||
QMessageBox, QHeaderView, QMenu, QInputDialog)
|
QMessageBox, QHeaderView, QMenu, QInputDialog)
|
||||||
from PySide6.QtCore import Qt, QPoint
|
from PySide6.QtCore import Qt, QPoint
|
||||||
|
|
||||||
# 导入自动生成的 UI 文件
|
|
||||||
from ui_form import Ui_MainWindow
|
from ui_form import Ui_MainWindow
|
||||||
# 导入我们自己编写的系统信息管理模块
|
|
||||||
from system_info import SystemInfoManager
|
from system_info import SystemInfoManager
|
||||||
# 导入日志配置
|
from logger_config import setup_logging, logger
|
||||||
from logger_config import setup_logging, logger # 导入日志配置函数和 logger 实例
|
|
||||||
# 导入磁盘操作模块
|
|
||||||
from disk_operations import DiskOperations
|
from disk_operations import DiskOperations
|
||||||
|
|
||||||
class MainWindow(QMainWindow):
|
class MainWindow(QMainWindow):
|
||||||
@@ -21,35 +17,39 @@ class MainWindow(QMainWindow):
|
|||||||
self.ui = Ui_MainWindow()
|
self.ui = Ui_MainWindow()
|
||||||
self.ui.setupUi(self)
|
self.ui.setupUi(self)
|
||||||
|
|
||||||
# 设置日志输出到 QTextEdit
|
|
||||||
setup_logging(self.ui.logOutputTextEdit)
|
setup_logging(self.ui.logOutputTextEdit)
|
||||||
logger.info("应用程序启动。")
|
logger.info("应用程序启动。")
|
||||||
|
|
||||||
# 初始化系统信息管理器和磁盘操作管理器
|
|
||||||
self.system_manager = SystemInfoManager()
|
self.system_manager = SystemInfoManager()
|
||||||
self.disk_ops = DiskOperations()
|
self.disk_ops = DiskOperations()
|
||||||
|
|
||||||
# 连接刷新按钮的信号到槽函数
|
|
||||||
if hasattr(self.ui, 'refreshButton'):
|
if hasattr(self.ui, 'refreshButton'):
|
||||||
self.ui.refreshButton.clicked.connect(self.refresh_block_devices_info)
|
self.ui.refreshButton.clicked.connect(self.refresh_all_info)
|
||||||
else:
|
else:
|
||||||
logger.warning("Warning: refreshButton not found in UI. Please add it in form.ui and regenerate ui_form.py.")
|
logger.warning("Warning: refreshButton not found in UI. Please add it in form.ui and regenerate ui_form.py.")
|
||||||
|
|
||||||
# 启用 treeWidget 的自定义上下文菜单
|
|
||||||
self.ui.treeWidget_block_devices.setContextMenuPolicy(Qt.CustomContextMenu)
|
self.ui.treeWidget_block_devices.setContextMenuPolicy(Qt.CustomContextMenu)
|
||||||
self.ui.treeWidget_block_devices.customContextMenuRequested.connect(self.show_block_device_context_menu)
|
self.ui.treeWidget_block_devices.customContextMenuRequested.connect(self.show_block_device_context_menu)
|
||||||
|
|
||||||
# 初始化时刷新一次数据
|
self.refresh_all_info()
|
||||||
|
logger.info("所有设备信息已初始化加载。")
|
||||||
|
|
||||||
|
def refresh_all_info(self):
|
||||||
|
"""
|
||||||
|
刷新所有设备信息:块设备、RAID和LVM。
|
||||||
|
"""
|
||||||
|
logger.info("开始刷新所有设备信息...")
|
||||||
self.refresh_block_devices_info()
|
self.refresh_block_devices_info()
|
||||||
logger.info("块设备信息已初始化加载。")
|
self.refresh_raid_info()
|
||||||
|
self.refresh_lvm_info()
|
||||||
|
logger.info("所有设备信息刷新完成。")
|
||||||
|
|
||||||
def refresh_block_devices_info(self):
|
def refresh_block_devices_info(self):
|
||||||
"""
|
"""
|
||||||
刷新块设备信息并显示在 QTreeWidget 中。
|
刷新块设备信息并显示在 QTreeWidget 中。
|
||||||
"""
|
"""
|
||||||
self.ui.treeWidget_block_devices.clear() # 清空现有内容
|
self.ui.treeWidget_block_devices.clear()
|
||||||
|
|
||||||
# 定义所有要显示的列头和对应的 lsblk 字段名
|
|
||||||
columns = [
|
columns = [
|
||||||
("设备名", 'name'),
|
("设备名", 'name'),
|
||||||
("类型", 'type'),
|
("类型", 'type'),
|
||||||
@@ -67,12 +67,11 @@ class MainWindow(QMainWindow):
|
|||||||
]
|
]
|
||||||
|
|
||||||
headers = [col[0] for col in columns]
|
headers = [col[0] for col in columns]
|
||||||
self.field_keys = [col[1] for col in columns] # 保存字段键,供后续使用
|
self.field_keys = [col[1] for col in columns]
|
||||||
|
|
||||||
self.ui.treeWidget_block_devices.setColumnCount(len(headers)) # 确保列数正确
|
self.ui.treeWidget_block_devices.setColumnCount(len(headers))
|
||||||
self.ui.treeWidget_block_devices.setHeaderLabels(headers)
|
self.ui.treeWidget_block_devices.setHeaderLabels(headers)
|
||||||
|
|
||||||
# 调整列宽以适应内容
|
|
||||||
for i in range(len(headers)):
|
for i in range(len(headers)):
|
||||||
self.ui.treeWidget_block_devices.header().setSectionResizeMode(i, QHeaderView.ResizeToContents)
|
self.ui.treeWidget_block_devices.header().setSectionResizeMode(i, QHeaderView.ResizeToContents)
|
||||||
|
|
||||||
@@ -81,7 +80,6 @@ class MainWindow(QMainWindow):
|
|||||||
for dev in devices:
|
for dev in devices:
|
||||||
self._add_device_to_tree(self.ui.treeWidget_block_devices, dev)
|
self._add_device_to_tree(self.ui.treeWidget_block_devices, dev)
|
||||||
|
|
||||||
# 自动调整列宽
|
|
||||||
for i in range(len(headers)):
|
for i in range(len(headers)):
|
||||||
self.ui.treeWidget_block_devices.resizeColumnToContents(i)
|
self.ui.treeWidget_block_devices.resizeColumnToContents(i)
|
||||||
logger.info("块设备信息刷新成功。")
|
logger.info("块设备信息刷新成功。")
|
||||||
@@ -98,21 +96,164 @@ class MainWindow(QMainWindow):
|
|||||||
item = QTreeWidgetItem(parent_item)
|
item = QTreeWidgetItem(parent_item)
|
||||||
for i, key in enumerate(self.field_keys):
|
for i, key in enumerate(self.field_keys):
|
||||||
value = dev_data.get(key)
|
value = dev_data.get(key)
|
||||||
if key == 'ro': # 特殊处理布尔值
|
if key == 'ro':
|
||||||
item.setText(i, "是" if value else "否")
|
item.setText(i, "是" if value else "否")
|
||||||
elif value is None: # None 值显示为空字符串
|
elif value is None:
|
||||||
item.setText(i, "")
|
item.setText(i, "")
|
||||||
else:
|
else:
|
||||||
item.setText(i, str(value))
|
item.setText(i, str(value))
|
||||||
|
|
||||||
# 将原始设备数据存储在 item 的 data 属性中,方便后续操作时获取
|
|
||||||
item.setData(0, Qt.UserRole, dev_data)
|
item.setData(0, Qt.UserRole, dev_data)
|
||||||
|
|
||||||
# 如果有子设备(分区),也显示出来
|
|
||||||
if 'children' in dev_data:
|
if 'children' in dev_data:
|
||||||
for child in dev_data['children']:
|
for child in dev_data['children']:
|
||||||
self._add_device_to_tree(item, child)
|
self._add_device_to_tree(item, child)
|
||||||
item.setExpanded(True) # 默认展开父节点,以便看到分区
|
item.setExpanded(True)
|
||||||
|
|
||||||
|
def refresh_raid_info(self):
|
||||||
|
"""
|
||||||
|
刷新RAID阵列信息并显示在 QTreeWidget 中。
|
||||||
|
"""
|
||||||
|
self.ui.treeWidget_raid.clear()
|
||||||
|
|
||||||
|
# 定义RAID显示列头
|
||||||
|
raid_headers = [
|
||||||
|
"阵列设备", "级别", "状态", "大小", "活动设备", "失败设备", "备用设备",
|
||||||
|
"总设备数", "UUID", "名称", "Chunk Size"
|
||||||
|
]
|
||||||
|
self.ui.treeWidget_raid.setColumnCount(len(raid_headers))
|
||||||
|
self.ui.treeWidget_raid.setHeaderLabels(raid_headers)
|
||||||
|
|
||||||
|
for i in range(len(raid_headers)):
|
||||||
|
self.ui.treeWidget_raid.header().setSectionResizeMode(i, QHeaderView.ResizeToContents)
|
||||||
|
|
||||||
|
try:
|
||||||
|
raid_arrays = self.system_manager.get_mdadm_arrays()
|
||||||
|
if not raid_arrays:
|
||||||
|
item = QTreeWidgetItem(self.ui.treeWidget_raid)
|
||||||
|
item.setText(0, "未找到RAID阵列。")
|
||||||
|
logger.info("未找到RAID阵列。")
|
||||||
|
return
|
||||||
|
|
||||||
|
for array in raid_arrays:
|
||||||
|
array_item = QTreeWidgetItem(self.ui.treeWidget_raid)
|
||||||
|
array_item.setText(0, array.get('device', 'N/A'))
|
||||||
|
array_item.setText(1, array.get('level', 'N/A'))
|
||||||
|
array_item.setText(2, array.get('state', 'N/A'))
|
||||||
|
array_item.setText(3, array.get('array_size', 'N/A'))
|
||||||
|
array_item.setText(4, array.get('active_devices', 'N/A'))
|
||||||
|
array_item.setText(5, array.get('failed_devices', 'N/A'))
|
||||||
|
array_item.setText(6, array.get('spare_devices', 'N/A'))
|
||||||
|
array_item.setText(7, array.get('total_devices', 'N/A'))
|
||||||
|
array_item.setText(8, array.get('uuid', 'N/A'))
|
||||||
|
array_item.setText(9, array.get('name', 'N/A'))
|
||||||
|
array_item.setText(10, array.get('chunk_size', 'N/A'))
|
||||||
|
array_item.setExpanded(True)
|
||||||
|
|
||||||
|
# 添加成员设备作为子节点
|
||||||
|
for member in array.get('member_devices', []):
|
||||||
|
member_item = QTreeWidgetItem(array_item)
|
||||||
|
member_item.setText(0, f" {member.get('device_path', 'N/A')}") # 缩进显示
|
||||||
|
member_item.setText(1, f"成员")
|
||||||
|
member_item.setText(2, member.get('state', 'N/A'))
|
||||||
|
# 其他列留空或填充N/A,因为是成员设备的特有信息
|
||||||
|
member_item.setText(3, f"RaidDevice: {member.get('raid_device', 'N/A')}")
|
||||||
|
|
||||||
|
|
||||||
|
for i in range(len(raid_headers)):
|
||||||
|
self.ui.treeWidget_raid.resizeColumnToContents(i)
|
||||||
|
logger.info("RAID阵列信息刷新成功。")
|
||||||
|
|
||||||
|
except Exception as e:
|
||||||
|
QMessageBox.critical(self, "错误", f"刷新RAID阵列信息失败: {e}")
|
||||||
|
logger.error(f"刷新RAID阵列信息失败: {e}")
|
||||||
|
|
||||||
|
def refresh_lvm_info(self):
|
||||||
|
"""
|
||||||
|
刷新LVM信息(PVs, VGs, LVs)并显示在 QTreeWidget 中。
|
||||||
|
"""
|
||||||
|
self.ui.treeWidget_lvm.clear()
|
||||||
|
|
||||||
|
# 定义LVM显示列头
|
||||||
|
lvm_headers = ["名称", "大小", "属性", "UUID", "关联", "空闲/已用", "路径"]
|
||||||
|
self.ui.treeWidget_lvm.setColumnCount(len(lvm_headers))
|
||||||
|
self.ui.treeWidget_lvm.setHeaderLabels(lvm_headers)
|
||||||
|
|
||||||
|
for i in range(len(lvm_headers)):
|
||||||
|
self.ui.treeWidget_lvm.header().setSectionResizeMode(i, QHeaderView.ResizeToContents)
|
||||||
|
|
||||||
|
try:
|
||||||
|
lvm_data = self.system_manager.get_lvm_info()
|
||||||
|
|
||||||
|
if not lvm_data.get('pvs') and not lvm_data.get('vgs') and not lvm_data.get('lvs'):
|
||||||
|
item = QTreeWidgetItem(self.ui.treeWidget_lvm)
|
||||||
|
item.setText(0, "未找到LVM信息。")
|
||||||
|
logger.info("未找到LVM信息。")
|
||||||
|
return
|
||||||
|
|
||||||
|
# 物理卷 (PVs)
|
||||||
|
pv_root_item = QTreeWidgetItem(self.ui.treeWidget_lvm)
|
||||||
|
pv_root_item.setText(0, "物理卷 (PVs)")
|
||||||
|
pv_root_item.setExpanded(True)
|
||||||
|
if lvm_data.get('pvs'):
|
||||||
|
for pv in lvm_data['pvs']:
|
||||||
|
pv_item = QTreeWidgetItem(pv_root_item)
|
||||||
|
pv_item.setText(0, pv.get('pv_name', 'N/A'))
|
||||||
|
pv_item.setText(1, pv.get('pv_size', 'N/A'))
|
||||||
|
pv_item.setText(2, pv.get('pv_attr', 'N/A'))
|
||||||
|
pv_item.setText(3, pv.get('pv_uuid', 'N/A'))
|
||||||
|
pv_item.setText(4, f"VG: {pv.get('vg_name', 'N/A')}")
|
||||||
|
pv_item.setText(5, f"空闲: {pv.get('pv_free', 'N/A')}")
|
||||||
|
pv_item.setText(6, pv.get('pv_fmt', 'N/A')) # PV格式
|
||||||
|
else:
|
||||||
|
item = QTreeWidgetItem(pv_root_item)
|
||||||
|
item.setText(0, "未找到物理卷。")
|
||||||
|
|
||||||
|
|
||||||
|
# 卷组 (VGs)
|
||||||
|
vg_root_item = QTreeWidgetItem(self.ui.treeWidget_lvm)
|
||||||
|
vg_root_item.setText(0, "卷组 (VGs)")
|
||||||
|
vg_root_item.setExpanded(True)
|
||||||
|
if lvm_data.get('vgs'):
|
||||||
|
for vg in lvm_data['vgs']:
|
||||||
|
vg_item = QTreeWidgetItem(vg_root_item)
|
||||||
|
vg_item.setText(0, vg.get('vg_name', 'N/A'))
|
||||||
|
vg_item.setText(1, vg.get('vg_size', 'N/A'))
|
||||||
|
vg_item.setText(2, vg.get('vg_attr', 'N/A'))
|
||||||
|
vg_item.setText(3, vg.get('vg_uuid', 'N/A'))
|
||||||
|
vg_item.setText(4, f"PVs: {vg.get('pv_count', 'N/A')}, LVs: {vg.get('lv_count', 'N/A')}")
|
||||||
|
vg_item.setText(5, f"空闲: {vg.get('vg_free', 'N/A')}, 已分配: {vg.get('vg_alloc_percent', 'N/A')}%")
|
||||||
|
vg_item.setText(6, vg.get('vg_fmt', 'N/A')) # VG格式
|
||||||
|
else:
|
||||||
|
item = QTreeWidgetItem(vg_root_item)
|
||||||
|
item.setText(0, "未找到卷组。")
|
||||||
|
|
||||||
|
# 逻辑卷 (LVs)
|
||||||
|
lv_root_item = QTreeWidgetItem(self.ui.treeWidget_lvm)
|
||||||
|
lv_root_item.setText(0, "逻辑卷 (LVs)")
|
||||||
|
lv_root_item.setExpanded(True)
|
||||||
|
if lvm_data.get('lvs'):
|
||||||
|
for lv in lvm_data['lvs']:
|
||||||
|
lv_item = QTreeWidgetItem(lv_root_item)
|
||||||
|
lv_item.setText(0, lv.get('lv_name', 'N/A'))
|
||||||
|
lv_item.setText(1, lv.get('lv_size', 'N/A'))
|
||||||
|
lv_item.setText(2, lv.get('lv_attr', 'N/A'))
|
||||||
|
lv_item.setText(3, lv.get('lv_uuid', 'N/A'))
|
||||||
|
lv_item.setText(4, f"VG: {lv.get('vg_name', 'N/A')}, Origin: {lv.get('origin', 'N/A')}")
|
||||||
|
lv_item.setText(5, f"快照: {lv.get('snap_percent', 'N/A')}%")
|
||||||
|
lv_item.setText(6, lv.get('lv_path', 'N/A'))
|
||||||
|
else:
|
||||||
|
item = QTreeWidgetItem(lv_root_item)
|
||||||
|
item.setText(0, "未找到逻辑卷。")
|
||||||
|
|
||||||
|
|
||||||
|
for i in range(len(lvm_headers)):
|
||||||
|
self.ui.treeWidget_lvm.resizeColumnToContents(i)
|
||||||
|
logger.info("LVM信息刷新成功。")
|
||||||
|
|
||||||
|
except Exception as e:
|
||||||
|
QMessageBox.critical(self, "错误", f"刷新LVM信息失败: {e}")
|
||||||
|
logger.error(f"刷新LVM信息失败: {e}")
|
||||||
|
|
||||||
def show_block_device_context_menu(self, pos: QPoint):
|
def show_block_device_context_menu(self, pos: QPoint):
|
||||||
"""
|
"""
|
||||||
@@ -120,7 +261,7 @@ class MainWindow(QMainWindow):
|
|||||||
"""
|
"""
|
||||||
item = self.ui.treeWidget_block_devices.itemAt(pos)
|
item = self.ui.treeWidget_block_devices.itemAt(pos)
|
||||||
if item:
|
if item:
|
||||||
dev_data = item.data(0, Qt.UserRole) # 获取存储的原始设备数据
|
dev_data = item.data(0, Qt.UserRole)
|
||||||
if not dev_data:
|
if not dev_data:
|
||||||
logger.warning(f"无法获取设备 {item.text(0)} 的详细数据。")
|
logger.warning(f"无法获取设备 {item.text(0)} 的详细数据。")
|
||||||
return
|
return
|
||||||
@@ -131,22 +272,17 @@ class MainWindow(QMainWindow):
|
|||||||
|
|
||||||
menu = QMenu(self)
|
menu = QMenu(self)
|
||||||
|
|
||||||
# 挂载/卸载操作
|
|
||||||
# 只有 'part' (分区) 和 'disk' (整个磁盘,但通常只挂载分区) 可以被挂载/卸载
|
|
||||||
if device_type in ['part', 'disk']:
|
if device_type in ['part', 'disk']:
|
||||||
if not mount_point or mount_point == '' or mount_point == 'N/A': # 未挂载
|
if not mount_point or mount_point == '' or mount_point == 'N/A':
|
||||||
mount_action = menu.addAction(f"挂载 {device_name}...")
|
mount_action = menu.addAction(f"挂载 {device_name}...")
|
||||||
mount_action.triggered.connect(lambda: self._handle_mount(device_name))
|
mount_action.triggered.connect(lambda: self._handle_mount(device_name))
|
||||||
elif mount_point != '[SWAP]': # 已挂载且不是SWAP
|
elif mount_point != '[SWAP]':
|
||||||
unmount_action = menu.addAction(f"卸载 {device_name}")
|
unmount_action = menu.addAction(f"卸载 {device_name}")
|
||||||
unmount_action.triggered.connect(lambda: self._handle_unmount(device_name))
|
unmount_action.triggered.connect(lambda: self._handle_unmount(device_name))
|
||||||
|
|
||||||
# 分隔符,用于区分操作
|
|
||||||
if menu.actions():
|
if menu.actions():
|
||||||
menu.addSeparator()
|
menu.addSeparator()
|
||||||
|
|
||||||
# 删除分区和格式化操作
|
|
||||||
# 这些操作通常只针对 'part' (分区)
|
|
||||||
if device_type == 'part':
|
if device_type == 'part':
|
||||||
delete_action = menu.addAction(f"删除分区 {device_name}")
|
delete_action = menu.addAction(f"删除分区 {device_name}")
|
||||||
delete_action.triggered.connect(lambda: self._handle_delete_partition(device_name))
|
delete_action.triggered.connect(lambda: self._handle_delete_partition(device_name))
|
||||||
@@ -154,7 +290,7 @@ class MainWindow(QMainWindow):
|
|||||||
format_action = menu.addAction(f"格式化分区 {device_name}...")
|
format_action = menu.addAction(f"格式化分区 {device_name}...")
|
||||||
format_action.triggered.connect(lambda: self._handle_format_partition(device_name))
|
format_action.triggered.connect(lambda: self._handle_format_partition(device_name))
|
||||||
|
|
||||||
if menu.actions(): # 只有当菜单中有动作时才显示
|
if menu.actions():
|
||||||
menu.exec(self.ui.treeWidget_block_devices.mapToGlobal(pos))
|
menu.exec(self.ui.treeWidget_block_devices.mapToGlobal(pos))
|
||||||
else:
|
else:
|
||||||
logger.info(f"设备 {device_name} 没有可用的操作。")
|
logger.info(f"设备 {device_name} 没有可用的操作。")
|
||||||
@@ -164,22 +300,22 @@ class MainWindow(QMainWindow):
|
|||||||
def _handle_mount(self, device_name):
|
def _handle_mount(self, device_name):
|
||||||
"""处理挂载操作,并刷新UI。"""
|
"""处理挂载操作,并刷新UI。"""
|
||||||
if self.disk_ops.mount_partition(device_name):
|
if self.disk_ops.mount_partition(device_name):
|
||||||
self.refresh_block_devices_info() # 操作成功后刷新UI
|
self.refresh_all_info()
|
||||||
|
|
||||||
def _handle_unmount(self, device_name):
|
def _handle_unmount(self, device_name):
|
||||||
"""处理卸载操作,并刷新UI。"""
|
"""处理卸载操作,并刷新UI。"""
|
||||||
if self.disk_ops.unmount_partition(device_name):
|
if self.disk_ops.unmount_partition(device_name):
|
||||||
self.refresh_block_devices_info() # 操作成功后刷新UI
|
self.refresh_all_info()
|
||||||
|
|
||||||
def _handle_delete_partition(self, device_name):
|
def _handle_delete_partition(self, device_name):
|
||||||
"""处理删除分区操作,并刷新UI。"""
|
"""处理删除分区操作,并刷新UI。"""
|
||||||
if self.disk_ops.delete_partition(device_name):
|
if self.disk_ops.delete_partition(device_name):
|
||||||
self.refresh_block_devices_info() # 操作成功后刷新UI
|
self.refresh_all_info()
|
||||||
|
|
||||||
def _handle_format_partition(self, device_name):
|
def _handle_format_partition(self, device_name):
|
||||||
"""处理格式化分区操作,并刷新UI。"""
|
"""处理格式化分区操作,并刷新UI。"""
|
||||||
if self.disk_ops.format_partition(device_name):
|
if self.disk_ops.format_partition(device_name):
|
||||||
self.refresh_block_devices_info() # 操作成功后刷新UI
|
self.refresh_all_info()
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|||||||
163
system_info.py
163
system_info.py
@@ -2,9 +2,9 @@
|
|||||||
import subprocess
|
import subprocess
|
||||||
import json
|
import json
|
||||||
import os
|
import os
|
||||||
import logging # 导入 logging 模块
|
import logging
|
||||||
|
|
||||||
logger = logging.getLogger(__name__) # 获取当前模块的 logger 实例
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
class SystemInfoManager:
|
class SystemInfoManager:
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
@@ -23,20 +23,17 @@ class SystemInfoManager:
|
|||||||
full_cmd.append("sudo")
|
full_cmd.append("sudo")
|
||||||
|
|
||||||
full_cmd.extend(cmd)
|
full_cmd.extend(cmd)
|
||||||
cmd_str = ' '.join(full_cmd) # 用于日志记录的完整命令字符串
|
cmd_str = ' '.join(full_cmd)
|
||||||
|
|
||||||
logger.info(f"执行命令: {cmd_str}")
|
logger.info(f"执行命令: {cmd_str}")
|
||||||
|
|
||||||
try:
|
try:
|
||||||
# text=True 自动解码为字符串,encoding='utf-8' 确保正确处理中文
|
|
||||||
# check=check_output 表示如果命令返回非零退出码,则抛出CalledProcessError
|
|
||||||
result = subprocess.run(
|
result = subprocess.run(
|
||||||
full_cmd,
|
full_cmd,
|
||||||
capture_output=True,
|
capture_output=True,
|
||||||
text=True,
|
text=True,
|
||||||
check=check_output,
|
check=check_output,
|
||||||
encoding='utf-8',
|
encoding='utf-8',
|
||||||
# 设置LANG环境变量,确保命令输出使用UTF-8编码,避免解析问题
|
|
||||||
env=dict(os.environ, LANG="en_US.UTF-8")
|
env=dict(os.environ, LANG="en_US.UTF-8")
|
||||||
)
|
)
|
||||||
if result.stdout:
|
if result.stdout:
|
||||||
@@ -45,13 +42,12 @@ class SystemInfoManager:
|
|||||||
logger.warning(f"命令输出 (stderr):\n{result.stderr.strip()}")
|
logger.warning(f"命令输出 (stderr):\n{result.stderr.strip()}")
|
||||||
return result.stdout.strip(), result.stderr.strip()
|
return result.stdout.strip(), result.stderr.strip()
|
||||||
except subprocess.CalledProcessError as e:
|
except subprocess.CalledProcessError as e:
|
||||||
# 捕获命令执行失败的情况
|
|
||||||
error_msg = f"命令执行失败: {cmd_str}\n" \
|
error_msg = f"命令执行失败: {cmd_str}\n" \
|
||||||
f"退出码: {e.returncode}\n" \
|
f"退出码: {e.returncode}\n" \
|
||||||
f"标准输出: {e.stdout}\n" \
|
f"标准输出: {e.stdout}\n" \
|
||||||
f"标准错误: {e.stderr}"
|
f"标准错误: {e.stderr}"
|
||||||
logger.error(error_msg) # 使用 logger 记录错误
|
logger.error(error_msg)
|
||||||
raise ValueError(error_msg) # 抛出更易于处理的异常
|
raise ValueError(error_msg)
|
||||||
except FileNotFoundError:
|
except FileNotFoundError:
|
||||||
error_msg = f"命令未找到: {full_cmd[0]}。请确保已安装。"
|
error_msg = f"命令未找到: {full_cmd[0]}。请确保已安装。"
|
||||||
logger.error(error_msg)
|
logger.error(error_msg)
|
||||||
@@ -72,21 +68,125 @@ class SystemInfoManager:
|
|||||||
logger.info("成功获取块设备信息。")
|
logger.info("成功获取块设备信息。")
|
||||||
return data.get('blockdevices', [])
|
return data.get('blockdevices', [])
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(f"获取块设备信息失败: {e}") # 使用 logger 记录错误
|
logger.error(f"获取块设备信息失败: {e}")
|
||||||
return []
|
return []
|
||||||
|
|
||||||
def get_mdadm_arrays(self):
|
def get_mdadm_arrays(self):
|
||||||
"""
|
"""
|
||||||
获取所有RAID阵列的详细信息。
|
获取所有RAID阵列的详细信息。
|
||||||
使用 mdadm --detail --scan 命令。
|
首先使用 mdadm --detail --scan 获取阵列列表,
|
||||||
|
然后对每个阵列使用 mdadm --detail 获取更详细的信息。
|
||||||
"""
|
"""
|
||||||
|
all_raid_details = []
|
||||||
try:
|
try:
|
||||||
stdout, _ = self._run_command(["mdadm", "--detail", "--scan"], root_privilege=False)
|
# 1. 获取所有RAID设备的路径
|
||||||
|
scan_stdout, _ = self._run_command(["mdadm", "--detail", "--scan"], root_privilege=False)
|
||||||
|
array_paths = []
|
||||||
|
for line in scan_stdout.splitlines():
|
||||||
|
if line.startswith("ARRAY"):
|
||||||
|
parts = line.split()
|
||||||
|
if len(parts) > 1:
|
||||||
|
array_paths.append(parts[1]) # 例如 /dev/md126
|
||||||
|
|
||||||
|
if not array_paths:
|
||||||
|
logger.info("未找到任何RAID阵列。")
|
||||||
|
return []
|
||||||
|
|
||||||
|
# 2. 对每个RAID设备获取详细信息
|
||||||
|
for path in array_paths:
|
||||||
|
try:
|
||||||
|
detail_stdout, _ = self._run_command(["mdadm", "--detail", path], root_privilege=False)
|
||||||
|
parsed_detail = self._parse_mdadm_detail_output(detail_stdout)
|
||||||
|
parsed_detail['device'] = path # 添加设备路径
|
||||||
|
all_raid_details.append(parsed_detail)
|
||||||
|
except Exception as e:
|
||||||
|
logger.error(f"获取RAID阵列 {path} 的详细信息失败: {e}")
|
||||||
logger.info("成功获取RAID阵列信息。")
|
logger.info("成功获取RAID阵列信息。")
|
||||||
return stdout
|
return all_raid_details
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(f"获取RAID阵列信息失败: {e}")
|
logger.error(f"获取RAID阵列列表失败: {e}")
|
||||||
return "无法获取RAID阵列信息。"
|
return []
|
||||||
|
|
||||||
|
def _parse_mdadm_detail_output(self, output_string):
|
||||||
|
"""
|
||||||
|
解析 mdadm --detail 命令的输出字符串,提取关键信息。
|
||||||
|
"""
|
||||||
|
details = {
|
||||||
|
'level': 'N/A',
|
||||||
|
'array_size': 'N/A',
|
||||||
|
'raid_devices': 'N/A',
|
||||||
|
'total_devices': 'N/A',
|
||||||
|
'state': 'N/A',
|
||||||
|
'active_devices': 'N/A',
|
||||||
|
'working_devices': 'N/A',
|
||||||
|
'failed_devices': 'N/A',
|
||||||
|
'spare_devices': 'N/A',
|
||||||
|
'chunk_size': 'N/A',
|
||||||
|
'uuid': 'N/A',
|
||||||
|
'name': 'N/A',
|
||||||
|
'member_devices': []
|
||||||
|
}
|
||||||
|
member_devices_section = False
|
||||||
|
lines = output_string.splitlines()
|
||||||
|
|
||||||
|
for line in lines:
|
||||||
|
line = line.strip()
|
||||||
|
if not line:
|
||||||
|
continue
|
||||||
|
|
||||||
|
if line.startswith("Number Major Minor RaidDevice State"):
|
||||||
|
member_devices_section = True
|
||||||
|
continue
|
||||||
|
|
||||||
|
if member_devices_section:
|
||||||
|
parts = line.split()
|
||||||
|
if len(parts) >= 6: # Ensure enough parts for device info
|
||||||
|
# State can be multiple words, e.g., "active sync"
|
||||||
|
device_state_parts = parts[4:-1]
|
||||||
|
# Handle cases where device path might have spaces or be complex, though usually not for /dev/sdX
|
||||||
|
device_path = parts[-1]
|
||||||
|
|
||||||
|
details['member_devices'].append({
|
||||||
|
'number': parts[0],
|
||||||
|
'major': parts[1],
|
||||||
|
'minor': parts[2],
|
||||||
|
'raid_device': parts[3],
|
||||||
|
'state': ' '.join(device_state_parts),
|
||||||
|
'device_path': device_path
|
||||||
|
})
|
||||||
|
else:
|
||||||
|
if ':' in line:
|
||||||
|
key, value = line.split(':', 1)
|
||||||
|
key = key.strip().lower().replace(' ', '_')
|
||||||
|
value = value.strip()
|
||||||
|
|
||||||
|
if key == 'raid_level':
|
||||||
|
details['level'] = value
|
||||||
|
elif key == 'array_size':
|
||||||
|
details['array_size'] = value
|
||||||
|
elif key == 'raid_devices':
|
||||||
|
details['raid_devices'] = value
|
||||||
|
elif key == 'total_devices':
|
||||||
|
details['total_devices'] = value
|
||||||
|
elif key == 'state':
|
||||||
|
details['state'] = value
|
||||||
|
elif key == 'active_devices':
|
||||||
|
details['active_devices'] = value
|
||||||
|
elif key == 'working_devices':
|
||||||
|
details['working_devices'] = value
|
||||||
|
elif key == 'failed_devices':
|
||||||
|
details['failed_devices'] = value
|
||||||
|
elif key == 'spare_devices':
|
||||||
|
details['spare_devices'] = value
|
||||||
|
elif key == 'chunk_size':
|
||||||
|
details['chunk_size'] = value
|
||||||
|
elif key == 'uuid':
|
||||||
|
details['uuid'] = value
|
||||||
|
elif key == 'name':
|
||||||
|
details['name'] = value
|
||||||
|
|
||||||
|
|
||||||
|
return details
|
||||||
|
|
||||||
def get_lvm_info(self):
|
def get_lvm_info(self):
|
||||||
"""
|
"""
|
||||||
@@ -122,7 +222,6 @@ class SystemInfoManager:
|
|||||||
|
|
||||||
# 示例用法 (可以在此模块中添加测试代码)
|
# 示例用法 (可以在此模块中添加测试代码)
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
# 为了在单独运行时也能看到日志输出,这里简单配置一下
|
|
||||||
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
|
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
|
||||||
manager = SystemInfoManager()
|
manager = SystemInfoManager()
|
||||||
logger.info("--- 块设备信息 ---")
|
logger.info("--- 块设备信息 ---")
|
||||||
@@ -132,16 +231,34 @@ if __name__ == "__main__":
|
|||||||
|
|
||||||
logger.info("\n--- RAID 阵列信息 ---")
|
logger.info("\n--- RAID 阵列信息 ---")
|
||||||
raid_info = manager.get_mdadm_arrays()
|
raid_info = manager.get_mdadm_arrays()
|
||||||
logger.info(raid_info)
|
if raid_info:
|
||||||
|
for array in raid_info:
|
||||||
|
logger.info(f" Device: {array.get('device')}, Level: {array.get('level')}, State: {array.get('state')}, Size: {array.get('array_size')}")
|
||||||
|
logger.info(f" Active: {array.get('active_devices')}, Failed: {array.get('failed_devices')}, Spare: {array.get('spare_devices')}")
|
||||||
|
for member in array.get('member_devices', []):
|
||||||
|
logger.info(f" Member: {member.get('device_path')} (State: {member.get('state')})")
|
||||||
|
else:
|
||||||
|
logger.info(" 未找到RAID阵列。")
|
||||||
|
|
||||||
logger.info("\n--- LVM 信息 ---")
|
logger.info("\n--- LVM 信息 ---")
|
||||||
lvm_info = manager.get_lvm_info()
|
lvm_info = manager.get_lvm_info()
|
||||||
logger.info("物理卷 (PVs):")
|
logger.info("物理卷 (PVs):")
|
||||||
for pv in lvm_info['pvs']:
|
if lvm_info['pvs']:
|
||||||
logger.info(f" {pv.get('pv_name')} (VG: {pv.get('vg_name')}, Size: {pv.get('pv_size')})")
|
for pv in lvm_info['pvs']:
|
||||||
|
logger.info(f" {pv.get('pv_name')} (VG: {pv.get('vg_name')}, Size: {pv.get('pv_size')})")
|
||||||
|
else:
|
||||||
|
logger.info(" 未找到物理卷。")
|
||||||
|
|
||||||
logger.info("卷组 (VGs):")
|
logger.info("卷组 (VGs):")
|
||||||
for vg in lvm_info['vgs']:
|
if lvm_info['vgs']:
|
||||||
logger.info(f" {vg.get('vg_name')} (Size: {vg.get('vg_size')}, PVs: {vg.get('pv_count')}, LVs: {vg.get('lv_count')})")
|
for vg in lvm_info['vgs']:
|
||||||
|
logger.info(f" {vg.get('vg_name')} (Size: {vg.get('vg_size')}, PVs: {vg.get('pv_count')}, LVs: {vg.get('lv_count')})")
|
||||||
|
else:
|
||||||
|
logger.info(" 未找到卷组。")
|
||||||
|
|
||||||
logger.info("逻辑卷 (LVs):")
|
logger.info("逻辑卷 (LVs):")
|
||||||
for lv in lvm_info['lvs']:
|
if lvm_info['lvs']:
|
||||||
logger.info(f" {lv.get('lv_name')} (VG: {lv.get('vg_name')}, Size: {lv.get('lv_size')})")
|
for lv in lvm_info['lvs']:
|
||||||
|
logger.info(f" {lv.get('lv_name')} (VG: {lv.get('vg_name')}, Size: {lv.get('lv_size')})")
|
||||||
|
else:
|
||||||
|
logger.info(" 未找到逻辑卷。")
|
||||||
|
|||||||
20
ui_form.py
20
ui_form.py
@@ -43,9 +43,23 @@ class Ui_MainWindow(object):
|
|||||||
self.tabWidget.addTab(self.tab_block_devices, "")
|
self.tabWidget.addTab(self.tab_block_devices, "")
|
||||||
self.tab_raid = QWidget()
|
self.tab_raid = QWidget()
|
||||||
self.tab_raid.setObjectName(u"tab_raid")
|
self.tab_raid.setObjectName(u"tab_raid")
|
||||||
|
self.verticalLayout_raid = QVBoxLayout(self.tab_raid)
|
||||||
|
self.verticalLayout_raid.setObjectName(u"verticalLayout_raid")
|
||||||
|
self.treeWidget_raid = QTreeWidget(self.tab_raid)
|
||||||
|
self.treeWidget_raid.setObjectName(u"treeWidget_raid")
|
||||||
|
|
||||||
|
self.verticalLayout_raid.addWidget(self.treeWidget_raid)
|
||||||
|
|
||||||
self.tabWidget.addTab(self.tab_raid, "")
|
self.tabWidget.addTab(self.tab_raid, "")
|
||||||
self.tab_lvm = QWidget()
|
self.tab_lvm = QWidget()
|
||||||
self.tab_lvm.setObjectName(u"tab_lvm")
|
self.tab_lvm.setObjectName(u"tab_lvm")
|
||||||
|
self.verticalLayout_lvm = QVBoxLayout(self.tab_lvm)
|
||||||
|
self.verticalLayout_lvm.setObjectName(u"verticalLayout_lvm")
|
||||||
|
self.treeWidget_lvm = QTreeWidget(self.tab_lvm)
|
||||||
|
self.treeWidget_lvm.setObjectName(u"treeWidget_lvm")
|
||||||
|
|
||||||
|
self.verticalLayout_lvm.addWidget(self.treeWidget_lvm)
|
||||||
|
|
||||||
self.tabWidget.addTab(self.tab_lvm, "")
|
self.tabWidget.addTab(self.tab_lvm, "")
|
||||||
|
|
||||||
self.verticalLayout.addWidget(self.tabWidget)
|
self.verticalLayout.addWidget(self.tabWidget)
|
||||||
@@ -64,7 +78,7 @@ class Ui_MainWindow(object):
|
|||||||
MainWindow.setCentralWidget(self.centralwidget)
|
MainWindow.setCentralWidget(self.centralwidget)
|
||||||
self.menubar = QMenuBar(MainWindow)
|
self.menubar = QMenuBar(MainWindow)
|
||||||
self.menubar.setObjectName(u"menubar")
|
self.menubar.setObjectName(u"menubar")
|
||||||
self.menubar.setGeometry(QRect(0, 0, 1000, 22))
|
self.menubar.setGeometry(QRect(0, 0, 1000, 23))
|
||||||
MainWindow.setMenuBar(self.menubar)
|
MainWindow.setMenuBar(self.menubar)
|
||||||
self.statusbar = QStatusBar(MainWindow)
|
self.statusbar = QStatusBar(MainWindow)
|
||||||
self.statusbar.setObjectName(u"statusbar")
|
self.statusbar.setObjectName(u"statusbar")
|
||||||
@@ -95,7 +109,11 @@ class Ui_MainWindow(object):
|
|||||||
___qtreewidgetitem.setText(1, QCoreApplication.translate("MainWindow", u"\u7c7b\u578b", None));
|
___qtreewidgetitem.setText(1, QCoreApplication.translate("MainWindow", u"\u7c7b\u578b", None));
|
||||||
___qtreewidgetitem.setText(0, QCoreApplication.translate("MainWindow", u"\u8bbe\u5907\u540d", None));
|
___qtreewidgetitem.setText(0, QCoreApplication.translate("MainWindow", u"\u8bbe\u5907\u540d", None));
|
||||||
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_block_devices), QCoreApplication.translate("MainWindow", u"\u5757\u8bbe\u5907\u6982\u89c8", None))
|
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_block_devices), QCoreApplication.translate("MainWindow", u"\u5757\u8bbe\u5907\u6982\u89c8", None))
|
||||||
|
___qtreewidgetitem1 = self.treeWidget_raid.headerItem()
|
||||||
|
___qtreewidgetitem1.setText(0, QCoreApplication.translate("MainWindow", u"1", None));
|
||||||
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_raid), QCoreApplication.translate("MainWindow", u"RAID \u7ba1\u7406", None))
|
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_raid), QCoreApplication.translate("MainWindow", u"RAID \u7ba1\u7406", None))
|
||||||
|
___qtreewidgetitem2 = self.treeWidget_lvm.headerItem()
|
||||||
|
___qtreewidgetitem2.setText(0, QCoreApplication.translate("MainWindow", u"1", None));
|
||||||
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_lvm), QCoreApplication.translate("MainWindow", u"LVM \u7ba1\u7406", None))
|
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_lvm), QCoreApplication.translate("MainWindow", u"LVM \u7ba1\u7406", None))
|
||||||
self.refreshButton.setText(QCoreApplication.translate("MainWindow", u"\u5237\u65b0\u6570\u636e", None))
|
self.refreshButton.setText(QCoreApplication.translate("MainWindow", u"\u5237\u65b0\u6570\u636e", None))
|
||||||
# retranslateUi
|
# retranslateUi
|
||||||
|
|||||||
68
up+.sh
Normal file
68
up+.sh
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
#set -e
|
||||||
|
##################################################################################################################
|
||||||
|
# Author : Erik Dubois
|
||||||
|
# Website : https://www.erikdubois.be
|
||||||
|
# Website : https://www.alci.online
|
||||||
|
# Website : https://www.ariser.eu
|
||||||
|
# Website : https://www.arcolinux.info
|
||||||
|
# Website : https://www.arcolinux.com
|
||||||
|
# Website : https://www.arcolinuxd.com
|
||||||
|
# Website : https://www.arcolinuxb.com
|
||||||
|
# Website : https://www.arcolinuxiso.com
|
||||||
|
# Website : https://www.arcolinuxforum.com
|
||||||
|
##################################################################################################################
|
||||||
|
#
|
||||||
|
# DO NOT JUST RUN THIS. EXAMINE AND JUDGE. RUN AT YOUR OWN RISK.
|
||||||
|
#
|
||||||
|
##################################################################################################################
|
||||||
|
#tput setaf 0 = black
|
||||||
|
#tput setaf 1 = red
|
||||||
|
#tput setaf 2 = green
|
||||||
|
#tput setaf 3 = yellow
|
||||||
|
#tput setaf 4 = dark blue
|
||||||
|
#tput setaf 5 = purple
|
||||||
|
#tput setaf 6 = cyan
|
||||||
|
#tput setaf 7 = gray
|
||||||
|
#tput setaf 8 = light blue
|
||||||
|
##################################################################################################################
|
||||||
|
|
||||||
|
# reset - commit your changes or stash them before you merge
|
||||||
|
# git reset --hard - personal alias - grh
|
||||||
|
|
||||||
|
echo "Deleting the work folder if one exists"
|
||||||
|
[ -d work ] && rm -rf work
|
||||||
|
|
||||||
|
# checking if I have the latest files from github
|
||||||
|
echo "Checking for newer files online first"
|
||||||
|
git pull
|
||||||
|
|
||||||
|
# Below command will backup everything inside the project folder
|
||||||
|
git add --all .
|
||||||
|
|
||||||
|
# Give a comment to the commit if you want
|
||||||
|
echo "####################################"
|
||||||
|
echo "Write your commit comment!"
|
||||||
|
echo "####################################"
|
||||||
|
|
||||||
|
read input
|
||||||
|
|
||||||
|
# Committing to the local repository with a message containing the time details and commit text
|
||||||
|
|
||||||
|
git commit -m "$input"
|
||||||
|
|
||||||
|
# Push the local files to github
|
||||||
|
|
||||||
|
if grep -q main .git/config; then
|
||||||
|
echo "Using main"
|
||||||
|
git push -u origin main
|
||||||
|
fi
|
||||||
|
|
||||||
|
if grep -q master .git/config; then
|
||||||
|
echo "Using master"
|
||||||
|
git push -u origin master
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "################################################################"
|
||||||
|
echo "################### Git Push Done ######################"
|
||||||
|
echo "################################################################"
|
||||||
Reference in New Issue
Block a user