Python Tkinter 开发图形界面程序
Python Tkinter 是 Python 的标准库,用于创建图形用户界面(GUI),提供简单直观的方式构建桌面应用程序。它包含丰富的控件和工具,可设计交互性强、用户友好的界面。下面是一个完整的示例。
程序代码需要再 IDE 里面运行,或者系统默认终端中执行,不能在通过ssh远程连接的终端中执行。
程序运行截图

数据展示

完整代码
import tkinter as tk
from tkinter import messagebox
class UserManagementSystem:
def __init__(self, root):
self.root = root
self.root.title("Tkinter 客户端程序")
self.root.geometry("400x300")
# 创建菜单栏
self.menu_bar = tk.Menu(self.root)
self.file_menu = tk.Menu(self.menu_bar, tearoff=0)
self.file_menu.add_command(label="退出", command=self.root.quit)
self.menu_bar.add_cascade(label="文件", menu=self.file_menu)
self.help_menu = tk.Menu(self.menu_bar, tearoff=0)
self.help_menu.add_command(label="关于", command=self.show_about)
self.menu_bar.add_cascade(label="帮助", menu=self.help_menu)
self.root.config(menu=self.menu_bar)
# 创建工具栏
self.tool_bar = tk.Frame(self.root, bg="lightgray")
self.tool_bar.pack(side=tk.TOP, fill=tk.X)
self.submit_button = tk.Button(self.tool_bar, text="提交", command=self.submit_data)
self.submit_button.pack(side=tk.LEFT, padx=5, pady=5)
self.clear_button = tk.Button(self.tool_bar, text="清空", command=self.clear_form)
self.clear_button.pack(side=tk.LEFT, padx=5, pady=5)
# 创建表单输入区域
self.form_frame = tk.Frame(self.root)
self.form_frame.pack(pady=10)
self.name_label = tk.Label(self.form_frame, text="姓名:")
self.name_label.grid(row=0, column=0, sticky=tk.E)
self.name_entry = tk.Entry(self.form_frame)
self.name_entry.grid(row=0, column=1)
self.age_label = tk.Label(self.form_frame, text="年龄:")
self.age_label.grid(row=1, column=0, sticky=tk.E)
self.age_entry = tk.Entry(self.form_frame)
self.age_entry.grid(row=1, column=1)
self.email_label = tk.Label(self.form_frame, text="邮箱:")
self.email_label.grid(row=2, column=0, sticky=tk.E)
self.email_entry = tk.Entry(self.form_frame)
self.email_entry.grid(row=2, column=1)
# 创建数据展示区域
self.listbox = tk.Listbox(self.root)
self.listbox.pack(pady=10, fill=tk.BOTH, expand=True)
# 创建状态栏
self.status_bar = tk.Label(self.root, text="就绪", bd=1, relief=tk.SUNKEN, anchor=tk.W)
self.status_bar.pack(side=tk.BOTTOM, fill=tk.X)
def submit_data(self):
"""提交数据并弹出确认对话框"""
name = self.name_entry.get()
age = self.age_entry.get()
email = self.email_entry.get()
if name and age and email:
confirm = messagebox.askyesno("确认提交", f"确定要提交以下数据吗?\n\n姓名: {name}\n年龄: {age}\n邮箱: {email}")
if confirm:
self.listbox.insert(tk.END, f"{name} - {age} - {email}")
self.clear_form()
self.status_bar.config(text="数据已提交")
else:
messagebox.showwarning("警告", "所有字段都必须填写!")
def clear_form(self):
"""清空表单输入"""
self.name_entry.delete(0, tk.END)
self.age_entry.delete(0, tk.END)
self.email_entry.delete(0, tk.END)
self.status_bar.config(text="表单已清空")
def show_about(self):
"""显示关于对话框"""
messagebox.showinfo("关于", "Tkinter 客户端程序\n版本 1.0")
if __name__ == "__main__":
root = tk.Tk()
app = UserManagementSystem(root)
root.mainloop()