创建一个功能全面的 tkinter
GUI 应用程序示例,展示一些常用的小部件和功能,包括菜单、按钮、标签、文本框、复选框、单选按钮、列表框、滚动条、对话框等。这个示例将展示如何将这些组件结合在一起,构建一个综合的 GUI 应用程序。
import tkinter as tk
from tkinter import ttk, messagebox, filedialog
def on_button_click():
messagebox.showinfo("信息", "按钮被点击了!")
def on_menu_click():
messagebox.showinfo("信息", "菜单项被选择了!")
def open_file():
file_path = filedialog.askopenfilename()
if file_path:
with open(file_path, 'r') as file:
content = file.read()
text_box.delete('1.0', tk.END)
text_box.insert(tk.END, content)
def save_file():
file_path = filedialog.asksaveasfilename(defaultextension=".txt")
if file_path:
with open(file_path, 'w') as file:
content = text_box.get('1.0', tk.END)
file.write(content)
def on_select(event):
selected = list_box.get(list_box.curselection())
label.config(text=f"选择: {selected}")
def on_checkbox_change():
status = "选中" if check_var.get() else "未选中"
messagebox.showinfo("信息", f"复选框{status}")
def on_radiobutton_change():
messagebox.showinfo("信息", f"选择了: {radio_var.get()}")
# 创建主窗口
root = tk.Tk()
root.title("tkinter 综合应用")
root.geometry("600x400")
# 创建菜单
menu_bar = tk.Menu(root)
file_menu = tk.Menu(menu_bar, tearoff=0)
file_menu.add_command(label="打开", command=open_file)
file_menu.add_command(label="保存", command=save_file)
file_menu.add_separator()
file_menu.add_command(label="退出", command=root.quit)
menu_bar.add_cascade(label="文件", menu=file_menu)
edit_menu = tk.Menu(menu_bar, tearoff=0)
edit_menu.add_command(label="复制", command=on_menu_click)
edit_menu.add_command(label="粘贴", command=on_menu_click)
menu_bar.add_cascade(label="编辑", menu=edit_menu)
root.config(menu=menu_bar)
# 创建标签
label = tk.Label(root, text="欢迎使用tkinter应用", font=("Arial", 14))
label.pack(pady=10)
# 创建按钮
button = tk.Button(root, text="点击我", command=on_button_click)
button.pack(pady=10)
# 创建文本框
text_box = tk.Text(root, height=5, width=40)
text_box.pack(pady=10)
# 创建复选框
check_var = tk.BooleanVar()
check_box = tk.Checkbutton(root, text="选项1", variable=check_var, command=on_checkbox_change)
check_box.pack(pady=10)
# 创建单选按钮
radio_var = tk.StringVar()
radio_button1 = tk.Radiobutton(root, text="选项A", variable=radio_var, value="选项A", command=on_radiobutton_change)
radio_button2 = tk.Radiobutton(root, text="选项B", variable=radio_var, value="选项B", command=on_radiobutton_change)
radio_button1.pack(pady=10)
radio_button2.pack(pady=10)
# 创建列表框
list_box = tk.Listbox(root)
items = ["项目1", "项目2", "项目3", "项目4"]
for item in items:
list_box.insert(tk.END, item)
list_box.bind('<>' , on_select)
list_box.pack(pady=10)
# 创建滚动条
scroll_bar = ttk.Scrollbar(root, orient=tk.VERTICAL, command=text_box.yview)
scroll_bar.pack(side=tk.RIGHT, fill=tk.Y)
text_box.config(yscrollcommand=scroll_bar.set)
# 运行主循环
root.mainloop()
这个示例展示了 tkinter
中的各种常用小部件和功能的基本用法,构建了一个简单但功能全面的 GUI 应用程序。你可以根据需要扩展和修改这个应用程序,以满足特定的需求。