语言:python
库:Tkinter
程序设计:介绍中药的小工具。将各类中药写进二级菜单栏,鼠标事件选中每个中药,可以在tk窗口内打印出它的介绍。并打包成安卓。
问题:
1.请写出简单菜单栏做范例,并添加点击事件,能输出对应的介绍。(我主要想看介绍以什么数据格式存、取介绍是以什么方式与该中药名对应、鼠标事件如何打印到窗口)
2.请给出打包安卓的教程。(我只会打包exe)
3.请尽可能简化程序行数。
写这个程序的思路应该是怎样的?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- m0_54204465 2023-01-14 22:40关注
使用 Tkinter 库可以很容易地创建一个菜单栏。下面是一个简单的示例,它创建了一个包含一个 "药材" 菜单的窗口,其中包含一些中药材的子菜单项,并为每个子菜单项添加了点击事件,打印出对应的中药材介绍。
import tkinter as tk def show_herb_info(herb): print(herb_info[herb]) # 中药材信息字典 herb_info = { "人参": "人参,又名红参、白参,是一种常用中药材。", "枸杞": "枸杞是一种常用中药材,具有滋补养颜、益气养血的作用。", "黄芪": "黄芪是一种常用中药材,具有滋阴养肺、益气养血的作用。" } root = tk.Tk() root.title("中药材介绍") # 创建菜单栏 menubar = tk.Menu(root) root.config(menu=menubar) # 创建 "药材" 菜单 herb_menu = tk.Menu(menubar) menubar.add_cascade(label="药材", menu=herb_menu) # 创建子菜单项 for herb in herb_info: herb_menu.add_command(label=herb, command=lambda herb=herb: show_herb_info(herb)) root.mainloop()
打包安卓应用程序需要使用一个称为 Kivy 的库来进行。Kivy 是一个用于创建跨平台应用程序的 Python 库。可以在这里找到 Kivy 的文档和教程。
还有,为了简化程序行数,可以考虑将中药材信息存储在一个外部文件中,例如 JSON 文件或 CSV 文件,然后在程序中读取该文件并动态创建菜单项。还可以使用循环来创建子菜单项,而不是逐个手动添加。
下面是一个示例,它使用 JSON 文件存储中药材信息,并在程序中动态创建菜单项。import tkinter as tk import json def show_herb_info(herb): print(herb_info[herb]) # 从 JSON 文件中读取中药材信息 with open("herb_info.json", "r") as f: herb_info = json.load(f) root = tk.Tk() root.title("中药材介绍") # 创建菜单栏 menubar = tk.Menu(root) root.config(menu=menubar) # 创建 "药材" 菜单 herb_menu = tk.Menu(menubar) menubar.add_cascade(label="药材", menu=herb_menu) # 循环创建子菜单项 for herb in herb_info: herb_menu.add_command(label=herb, command=lambda herb=herb: show_herb_info(herb)) root.mainloop()
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
- ¥15 有了解d3和topogram.js库的吗?有偿请教
- ¥100 任意维数的K均值聚类
- ¥15 stamps做sbas-insar,时序沉降图怎么画
- ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
- ¥15 关于#Java#的问题,如何解决?
- ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
- ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
- ¥15 cmd cl 0x000007b
- ¥20 BAPI_PR_CHANGE how to add account assignment information for service line