Python 编写程序在通过下拉框的输入查询后台mysql数据库,并用弹窗显示使用pandas
时间: 2024-10-13 22:13:22 浏览: 49
在Python中,结合Tkinter库创建GUI界面,我们可以设计一个下拉框让用户选择查询条件,然后利用`pyodbc`或`pymysql`等库连接MySQL数据库。以下是简单的步骤:
1. 导入必要的库:
```python
import tkinter as tk
from tkinter import ttk
import pandas as pd
import pymysql.cursors
```
2. 创建Tkinter窗口并添加下拉框和按钮:
```python
root = tk.Tk()
dropdown = ttk.Combobox(root, values=['选项1', '选项2', ...]) # 根据实际数据库列填充下拉框
button = ttk.Button(root, text="查询", command=on_query)
dropdown.pack()
button.pack()
```
3. 定义查询函数 `on_query`,在这里用户选择下拉框值后执行查询:
```python
def on_query():
selected_value = dropdown.get() # 获取用户选择的值
with pymysql.connect(host='your_host', user='your_user', password='your_password', db='your_db') as conn:
cursor = conn.cursor()
query = f"SELECT * FROM your_table WHERE column_name = '{selected_value}'" # 修改为实际查询语句
result = pd.read_sql(query, con=conn) # 使用pandas读取查询结果
show_result(result)
def show_result(df):
# 显示查询结果在一个新的tkinter对话框或窗口
win = tk.Toplevel(root)
win.title("查询结果")
dataframe_frame = tk.Frame(win)
df_ui = DataFrame(dataframe_frame, data=df) # 使用pandas的DataFrame展示数据
dataframe_frame.pack()
```
4. 结束主循环:
```python
root.mainloop()
```
阅读全文