PYTHON,新建一个桌面窗口,有一个单选可搜索输入框,根据输入内容,获得特定的JSON文件,读取JSON文件,并在桌面窗口展示
时间: 2024-09-18 09:09:11 浏览: 51
在Python中,要创建一个桌面窗口并添加一个具有搜索功能的单选框、输入框以及用于显示JSON数据的功能,你需要使用Tkinter库(Python的内置图形用户界面库)和json模块。以下是一个简化的示例代码:
```python
import tkinter as tk
from tkinter import ttk, messagebox
import json
# 创建主窗口
root = tk.Tk()
root.title("JSON Viewer")
root.geometry('400x300') # 设置窗口大小
# 定义获取JSON文件的函数
def load_json_from_file():
file_path = search_entry.get() # 获取输入框的文本
if not file_path or not file_exists(file_path):
messagebox.showerror("错误", "请输入有效的文件路径或检查文件是否存在")
return
try:
with open(file_path, 'r', encoding='utf-8') as f:
data = json.load(f)
display_data(data) # 在结果显示区域展示数据
except (FileNotFoundError, json.JSONDecodeError) as e:
messagebox.showerror("错误", str(e))
# 检查文件是否存在的辅助函数
def file_exists(path):
return tk.filedialog.askopenfilename(initialdir="/", title="选择文件") == path
# 输入框和搜索按钮
search_frame = ttk.Frame(root)
search_label = ttk.Label(search_frame, text="文件路径:")
search_entry = ttk.Entry(search_frame)
search_button = ttk.Button(search_frame, text="加载", command=load_json_from_file)
# 将组件放在frame上
search_label.grid(row=0, column=0)
search_entry.grid(row=0, column=1)
search_button.grid(row=0, column=2)
search_frame.pack(pady=10)
# 结果显示区域
result_frame = ttk.Frame(root)
result_text = tk.Text(result_frame, width=50, height=10, wrap=tk.WORD)
scrollbar = ttk.Scrollbar(result_frame, orient="vertical", command=result_text.yview)
result_text.configure(yscrollcommand=scrollbar.set)
result_label = ttk.Label(result_frame, text="数据显示:")
result_label.grid(row=0, column=0, pady=(10, 0))
result_text.grid(row=0, column=1, sticky="nsew")
scrollbar.grid(row=0, column=2, sticky="ns")
# 显示结果区域
result_frame.pack()
# 主循环
root.mainloop()
# 展示JSON数据的函数
def display_data(data):
result_text.delete(1.0, tk.END) # 清空文本框
for key, value in data.items():
result_text.insert(tk.END, f"{key}: {value}\n")
```
阅读全文
相关推荐












