import pandas as pd import tkinter as tk # 读取csv文件 df = pd.read_csv('数据处理.csv') # 定义查询函数 def search(): # 获取输入的关键词 keyword = entry.get().strip() if not keyword: return # 根据关键词过滤数据 result = df[df['职位名字'].str.contains(keyword) | df['公司名字'].str.contains(keyword)] # 清空列表框 listbox.delete(0, tk.END) # 将查询结果添加到列表框中 for index, row in result.iterrows(): item = "{0} | {1} | {2} | {3} | {4} | {5} | {6} | {7} | {8} | {9} | {10} | {11} | {12} | {13} | {14}".format( row['工作城市'], row['公司名字'], row['公司规模'], row['学历要求'], row['公司地址'], row['职位名字'], row['薪资待遇'], row['经验要求'], row['阶段融资'], row['行业领域'], row['工作性质'], row['第一类型'], row['第二类型'], row['第三类型'], row['职位福利'], row['详情页'] ) listbox.insert(tk.END, item) # 创建GUI界面 root = tk.Tk() root.title('招聘信息查询工具') # 创建输入框和查询按钮 frame1 = tk.Frame(root) frame1.pack(side=tk.TOP) entry = tk.Entry(frame1, width=50) entry.pack(side=tk.LEFT) button = tk.Button(frame1, text='查询', command=search) button.pack(side=tk.LEFT) # 创建列表框 frame2 = tk.Frame(root) frame2.pack() listbox = tk.Listbox(frame2, width=200) listbox.pack() root.mainloop()美化内容丰富优化
时间: 2024-01-20 17:03:45 浏览: 23
可以考虑对界面进行一些美化和优化,比如:
1. 设置窗口大小和位置,让界面更加美观。
2. 增加标签和说明文字,让用户更清楚地知道怎么使用该工具。
3. 调整列表框的宽度和高度,让显示更加舒适。
4. 设置滚动条,让用户可以方便地查看所有结果。
5. 增加异常处理,避免程序崩溃。
6. 调整字体和颜色,让界面更加美观和易读。
以下是一个修改后的代码示例:
```python
import pandas as pd
import tkinter as tk
# 读取csv文件
df = pd.read_csv('数据处理.csv')
# 定义查询函数
def search():
# 获取输入的关键词
keyword = entry.get().strip()
if not keyword:
return
# 根据关键词过滤数据
result = df[df['职位名字'].str.contains(keyword) | df['公司名字'].str.contains(keyword)]
# 清空列表框
listbox.delete(0, tk.END)
# 将查询结果添加到列表框中
for index, row in result.iterrows():
item = "{0} | {1} | {2} | {3} | {4} | {5} | {6} | {7} | {8} | {9} | {10} | {11} | {12} | {13} | {14}".format(
row['工作城市'], row['公司名字'], row['公司规模'], row['学历要求'], row['公司地址'], row['职位名字'],
row['薪资待遇'], row['经验要求'], row['阶段融资'], row['行业领域'], row['工作性质'], row['第一类型'],
row['第二类型'], row['第三类型'], row['职位福利'], row['详情页']
)
listbox.insert(tk.END, item)
# 创建GUI界面
root = tk.Tk()
root.title('招聘信息查询工具')
# 设置窗口大小和位置
window_width = 800
window_height = 600
screen_width = root.winfo_screenwidth()
screen_height = root.winfo_screenheight()
x = int((screen_width - window_width) / 2)
y = int((screen_height - window_height) / 2)
root.geometry('{}x{}+{}+{}'.format(window_width, window_height, x, y))
# 创建标签和说明文字
label1 = tk.Label(root, text='请输入关键词:')
label1.pack(pady=10)
label2 = tk.Label(root, text='查询结果:')
label2.pack()
# 创建输入框和查询按钮
frame1 = tk.Frame(root)
frame1.pack()
entry = tk.Entry(frame1, width=50)
entry.pack(side=tk.LEFT, padx=10)
button = tk.Button(frame1, text='查询', command=search)
button.pack(side=tk.LEFT, padx=10)
# 创建列表框和滚动条
frame2 = tk.Frame(root)
frame2.pack(expand=True, fill=tk.BOTH, padx=10, pady=10)
scrollbar = tk.Scrollbar(frame2)
scrollbar.pack(side=tk.RIGHT, fill=tk.Y)
listbox = tk.Listbox(frame2, width=100, height=30, font=('微软雅黑', 12), fg='blue', yscrollcommand=scrollbar.set)
listbox.pack(expand=True, fill=tk.BOTH)
scrollbar.config(command=listbox.yview)
# 启动主循环
root.mainloop()
```