class MainWindow: def init(self): self.master = tk.Tk() # 设置背景图片 self.master.title('车辆价格预系统') self.master.geometry('1000x600')

    frame_title = tk.Frame(self.master)
    frame_title.pack(pady=10)

    # 添加欢迎标签
    welcome_label = tk.Label(frame_title, text='欢迎使用二手车价格预测系统', font=('Arial', 20))
    welcome_label.pack()

    frame_buttons = tk.Frame(self.master)
    frame_buttons.pack(pady=10)

    frame_buttons1 = tk.Frame(frame_buttons)
    frame_buttons1.grid(row=0, column=0, padx=5)
    frame_buttons2 = tk.Frame(frame_buttons)
    frame_buttons2.grid(row=0, column=1, padx=5)
    frame_buttons3 = tk.Frame(frame_buttons)
    frame_buttons3.grid(row=0, column=2, padx=5)
    frame_buttons4 = tk.Frame(frame_buttons)
    frame_buttons4.grid(row=0, column=3, padx=5)
    frame_buttons5 = tk.Frame(frame_buttons)
    frame_buttons5.grid(row=0, column=4, padx=5)
    
    # 创建 Treeview 控件所在的 Frame
    frame_treeview = tk.Frame(self.master)
    frame_treeview.pack(padx=5)

    columns = ('Name', 'Year', 'Kilometers Driven', 'Mileage', 'Engine', 'Power', 'Seats', 'Price')
    self.tree = ttk.Treeview(frame_treeview, columns=columns, show='headings', height=15, padding=0)
    for col in columns:
        self.tree.heading(col, text=col, anchor='center')

    vsb = ttk.Scrollbar(frame_treeview, orient='vertical', command=self.tree.yview)
    vsb.grid(row=0, column=1, sticky='ns')
    self.tree.configure(yscrollcommand=vsb.set)

    self.tree.grid(row=2, column=0, padx=1, pady=1, sticky='nsew')

    # 设置按钮以及事件处理函数
    button_open = tk.Button(frame_buttons1, text='打开文件', font=('Arial', 12), command=self.open_file)
    button_open.grid(row=1 ,column=0, padx=5)

    button_other1 = tk.Button(frame_buttons2, text='数据预处理', font=('Arial', 12), bg='blue', fg='white',command=self.ok_window)
    button_other1.grid(row=0, column=0, padx=5)

    button_other2 = tk.Button(frame_buttons3, text='数据可视化', font=('Arial', 12), bg='green', fg='white',command=self.My_window)
    button_other2.grid(row=0, column=1, padx=5)

    button_other3 = tk.Button(frame_buttons4, text='预测结果', font=('Arial', 12), bg='red', fg='white', command=self.open_price_prediction)
    button_other3.grid(row=0, column=2, padx=5)

    button_exit = tk.Button(frame_buttons5, text='退出', font=('Arial', 12), command=self.master.quit)
    button_exit.grid(row=0, column=5, padx=5)

# 设置事件处理函数
def open_file(self):
    file_path = filedialog.askopenfilename(defaultextension='.csv', filetypes=(('CSV files', '*.csv'), ('All Files', '*.*')))
    if file_path:
        df = pd.read_csv(file_path)
        # 清空treeview
        for item in self.tree.get_children():
            self.tree.delete(item)
        # 填充数据
        for index, row in df.iterrows():
            self.tree.insert('', 'end', values=row.tolist())

def open_background_image(self):
    file_path = filedialog.askopenfilename(defaultextension='.png', filetypes=(('PNG files', '*.png'), ('All Files', '*.*')))
    if file_path:
        self.master.configure(background='white') # 先将背景设置为白色
        img = Image.open(file_path)
        img = img.resize((1000, 600), Image.ANTIALIAS) # 调整图片大小
        img = ImageTk.PhotoImage(img)
        panel = tk.Label(self.master, image=img)
        panel.image = img
        panel.place(x=0, y=0) # 放置图片
二手车价格预测系统 - Python GUI 应用

原文地址: https://www.cveoy.top/t/topic/oxQR 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录