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界面演示

题外话

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

相关推荐
CLX05051 天前
如何自动同步SQL异构表数据_利用触发器实现实时数据复制
jvm·数据库·python
gCode Teacher 格码致知1 天前
Python教学:正则表达式的寻找、匹配、替换、删除 四种模式案例-由Deepseek产生
开发语言·python·正则表达式
2301_779622411 天前
Golang如何解析嵌套JSON_Golang嵌套JSON解析教程【简明】
jvm·数据库·python
m0_748554811 天前
C#怎么使用CancellationToken C#如何用取消令牌优雅地取消异步任务和长时间操作【进阶】
jvm·数据库·python
m0_624578591 天前
PHP怎么实现X-XSS-Protection头_PHP浏览器XSS过滤【操作】
jvm·数据库·python
TechWayfarer1 天前
AI的幻觉谁来买单?智能体时代的数据溯源与鉴权
开发语言·python·安全·ai
2301_779622411 天前
如何自动计算SQL税费信息_利用触发器实时扣算税额
jvm·数据库·python
weixin_444012931 天前
mysql在高并发环境下的读写分离与负载均衡
jvm·数据库·python
2401_824697661 天前
如何通过phpMyAdmin给WordPress所有用户发送全站通知_系统表插入
jvm·数据库·python
Str_Null1 天前
Python 自动线性化 HTML/MD 表格的工程实践(一个读取表格并且提供输出的工具)
开发语言·python·html