怎么在Python3.7中使用tkinter实现查询界面功能
发布时间:2023-05-18 10:25:32
Tkinter是Python自带的GUI库,可以用于创建各种窗口和对话框。在Python3.7中使用Tkinter实现查询界面功能需要以下步骤:
1. 导入Tkinter模块和相关库
import tkinter as tk import tkinter.messagebox as messagebox import sqlite3
2. 创建主窗口并设置窗口大小、标题等属性
# 创建主窗口
root = tk.Tk()
# 设置窗口大小
root.geometry('400x300')
# 设置窗口标题
root.title('查询界面')
3. 创建查询条件输入框和查询结果显示框
# 创建查询条件输入框 input_frame = tk.Frame(root) input_frame.pack(side=tk.TOP, padx=20, pady=10) input_label = tk.Label(input_frame, text='输入查询条件:') input_label.pack(side=tk.LEFT) input_entry = tk.Entry(input_frame, width=30) input_entry.pack(side=tk.LEFT) # 创建查询结果显示框 result_frame = tk.Frame(root) result_frame.pack(side=tk.TOP, padx=10, pady=10) result_label = tk.Label(result_frame, text='查询结果:') result_label.pack(side=tk.TOP) result_text = tk.Text(result_frame, width=40, height=15) result_text.pack(side=tk.TOP)
4. 创建查询按钮并定义查询函数
# 创建查询按钮
def query():
# 获取查询条件
query_param = input_entry.get()
# 连接数据库
conn = sqlite3.connect('data.db')
cursor = conn.cursor()
# 查询数据
try:
cursor.execute(f"SELECT * FROM data WHERE name LIKE '%{query_param}%' OR age={query_param}")
results = cursor.fetchall()
except Exception as e:
messagebox.showerror('错误', str(e))
conn.close()
return
# 显示查询结果
result_text.delete(1.0, tk.END)
if len(results) == 0:
result_text.insert(tk.END, '没有找到匹配结果。')
else:
for result in results:
result_text.insert(tk.END, f'{result[0]}\t{result[1]}
')
# 关闭数据库连接
conn.close()
query_button = tk.Button(root, text='查询', command=query)
query_button.pack(side=tk.TOP, padx=10, pady=10)
5. 运行主循环
# 运行主循环 root.mainloop()
完整代码:
import tkinter as tk
import tkinter.messagebox as messagebox
import sqlite3
# 创建主窗口
root = tk.Tk()
# 设置窗口大小
root.geometry('400x300')
# 设置窗口标题
root.title('查询界面')
# 创建查询条件输入框
input_frame = tk.Frame(root)
input_frame.pack(side=tk.TOP, padx=20, pady=10)
input_label = tk.Label(input_frame, text='输入查询条件:')
input_label.pack(side=tk.LEFT)
input_entry = tk.Entry(input_frame, width=30)
input_entry.pack(side=tk.LEFT)
# 创建查询结果显示框
result_frame = tk.Frame(root)
result_frame.pack(side=tk.TOP, padx=10, pady=10)
result_label = tk.Label(result_frame, text='查询结果:')
result_label.pack(side=tk.TOP)
result_text = tk.Text(result_frame, width=40, height=15)
result_text.pack(side=tk.TOP)
# 创建查询按钮
def query():
# 获取查询条件
query_param = input_entry.get()
# 连接数据库
conn = sqlite3.connect('data.db')
cursor = conn.cursor()
# 查询数据
try:
cursor.execute(f"SELECT * FROM data WHERE name LIKE '%{query_param}%' OR age={query_param}")
results = cursor.fetchall()
except Exception as e:
messagebox.showerror('错误', str(e))
conn.close()
return
# 显示查询结果
result_text.delete(1.0, tk.END)
if len(results) == 0:
result_text.insert(tk.END, '没有找到匹配结果。')
else:
for result in results:
result_text.insert(tk.END, f'{result[0]}\t{result[1]}
')
# 关闭数据库连接
conn.close()
query_button = tk.Button(root, text='查询', command=query)
query_button.pack(side=tk.TOP, padx=10, pady=10)
# 运行主循环
root.mainloop()
以上就是在Python3.7中使用Tkinter实现查询界面功能的完整代码。其中包含了创建主窗口、查询条件输入框、查询结果显示框以及查询按钮等元素,以及定义查询函数和运行主循环等操作。通过这个例子,可以了解到如何使用Tkinter开发简单的GUI应用程序。
