tkinter-TinUI-xml实战(12)应用组启动器

tkinter-TinUI-xml实战(12)应用组启动器

引言

应用快捷启动器有很多现成软件,但是大多都是将常用软件分类,或者建立一个个包含一套工作、学习环境的软件类区,由用户选择启动里面的若干应用,需要一个一个点击。而像自动化软件可以一键启动多个软件,直接形成软件工作区,但我只想使用这个功能的话,自动化软件又太臃肿。

因此,我就打算写一个应用组启动器,包含如下功能:

  • 能够增、删、改每一个条目
  • 每一个条目包含若干指令、任务
  • 每一个指令是适用于命令行start的命令
  • 每一个任务就是已经存在的条目

由于当前功能并不完善,且主要用来演示TinUI,因此不会有大量逻辑源码

我将这个软件命名:QuickUp

QuickUp下载体验


主界面

主界面主要由三部分组成:

  • 搜索框(暂未实现)
  • 工具按钮(目前主要是增加条目)
  • 条目列表(包含所有当前可用任务条目)
xml 复制代码
<tinui>
<!--700 x 900-->
<line>
    <entry width="350">taskEntry</entry>
    <button2 icon="&#xE710;" text="" font="{Segoe Fluent Icons} 16" command="self.funcs['create_task']"></button2>
    <button2 icon="&#xE713;" text="" font="{Segoe Fluent Icons} 16">settingbutton</button2>
    <button2 icon="&#xE946;" text="" font="{Segoe Fluent Icons} 16" command="self.funcs['about']"></button2>
</line>
<line>
    <listview width="480" height="650" num="1">taskView</listview>
</line>
</tinui>

单独条目

单独条目是每个任务的视觉化体现,包含任务名称,同时应该有运行、打开编辑、删除的功能按钮。

xml 复制代码
<tinui>
<!-- 任务列表元素 -->
<line x="5" y="40" anchor="w">
    <title text="%TITLENAME%"></title>
</line>
<line x="475" y="40" lineanchor="e">
    <button2 icon="&#xE724;" text="" font="{Segoe Fluent Icons} 16" command="self.funcs['run_task']"></button2>
    <button2 icon="&#xE70F;" text="" font="{Segoe Fluent Icons} 16" command="self.funcs['edit_task']"></button2>
    <button2 icon="&#xE74D;" text="" font="{Segoe Fluent Icons} 16" command="self.funcs['delete_task']"></button2>
</line>
</tinui>

编辑框

编辑框是任务条目点击编辑按钮后展现的界面,包含三个部分:

  • 任务命名输入框
  • 命令、子任务添加按钮
  • 运行指令列表
xml 复制代码
<tinui>
<!-- QuickUp Editor -->
<line>
    <entry width="260">entry</entry>
    <button2 icon="&#xE74E;" text="" font="{Segoe Fluent Icons} 16" command="self.funcs['save_task']"></button2>
    <button2 text="添加命令" command="self.funcs['add_task_cmd']"></button2>
    <button2 text="添加任务" command="self.funcs['add_task_task']"></button2>
</line>
<line>
    <listview width="480" height="540" num="0" linew="100">view</listview>
</line>
</tinui>

命令行指令

命令行指令是适用于cmd中start命令的指令,主要由以下部分构成:

  1. 命令行目标应用
  2. 参数
  3. 管理员复选框
  4. 删除键
xml 复制代码
<tinui>
<!-- QuickUp Editor cmd part-->
<line y="25" anchor="w" lineanchor="w">
    <paragraph text="目标"></paragraph>
    <entry width="360">targetEntry</entry>
</line>
<line y="75" anchor="w" lineanchor="w">
    <paragraph text="参数"></paragraph>
    <entry width="320">argsEntry</entry>
</line>
<line x="475" y="25" anchor="e">
    <button2 icon="&#xE74D;" text="" font="{Segoe Fluent Icons} 16" command="self.funcs['delete_task']"></button2>
</line>
<line x="475" y="75" anchor="e">
    <checkbutton text="管理员" command="self.funcs['run_as_admin']">checkbox</checkbutton>
</line>
</tinui>

在20250214编译版本中,可以使用管理员权限选项,选中时,命令将申请管理员权限运行

子任务指令

子任务指令是运行当前已经存在任务条目的指令。

假设当前已经存在任务条目A,用来启动一组应用。而当我想搭建同样的学习软件组环境时,还想额外打开电子书文档,就可以使用如下指令:

  • 运行A
  • 用PDF阅读器打开电子书文档

这样就可以省略重复编写。

xml 复制代码
<tinui>
<!-- QuickUp Editor task part-->
<line y="15">
    <paragraph text="任务名称(填写已经存在的任务的名称)"></paragraph>
</line>
<line>
    <entry width="400">taskEntry</entry>
</line>
<line x="475" y="50" anchor="e">
    <button2 icon="&#xE74D;" text="" font="{Segoe Fluent Icons} 16" command="self.funcs['delete_task']"></button2>
</line>
</tinui>

不能循环启用(软件不限制,但肯定死机),这个指令不是在【启动anythingllm】条目里,而是在另一个条目里。

演示

QuickUp - TinUI界面演示

题外话

我发现还可以把这个用作待办事项🤣。

相关推荐
万粉变现经纪人8 分钟前
如何解决pip安装报错ModuleNotFoundError: No module named ‘dash’问题
python·scrapy·pycharm·flask·pip·策略模式·dash
Monkey的自我迭代13 分钟前
逻辑回归参数调优实战指南
python·机器学习·逻辑回归·数据处理·下采样·过采样
一念&16 分钟前
计算机网络中的socket是什么?编程语言中的socket编程又是什么?python的socket编程又该如何用?
python·计算机网络·php
python_13625 分钟前
python设计模式-工厂模式
开发语言·python·设计模式
8Qi841 分钟前
深度学习(鱼书)day08--误差反向传播(后三节)
人工智能·python·深度学习·神经网络
wow_DG1 小时前
【PyTorch✨】01 初识PyTorch
人工智能·pytorch·python
暖苏1 小时前
python-异常(笔记)
大数据·开发语言·笔记·python·异常
啊阿狸不会拉杆2 小时前
《Java 程序设计》核心知识点梳理与深入探究
java·开发语言·python·算法·php·intellij-idea
测试老哥4 小时前
如何写好测试用例?
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例
ALLSectorSorft4 小时前
相亲小程序个人资料管理系统模块搭建
服务器·网络·数据库·python·sql