语言:python
库:Tkinter
程序设计:介绍中药的小工具。将各类中药写进二级菜单栏,鼠标事件选中每个中药,可以在tk窗口内打印出它的介绍。并打包成安卓。
问题:
1.请写出简单菜单栏做范例,并添加点击事件,能输出对应的介绍。(我主要想看介绍以什么数据格式存、取介绍是以什么方式与该中药名对应、鼠标事件如何打印到窗口)
2.请给出打包安卓的教程。(我只会打包exe)
3.请尽可能简化程序行数。
使用 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()