鱼C论坛

 找回密码
 立即注册
12
返回列表 发新帖
楼主: laiyuanjie

我有三个treeview,分别展示三个DF

[复制链接]
 楼主| 发表于 2024-4-11 13:46:30 | 显示全部楼层
FishC 发表于 2024-4-11 13:45
非常抱歉给您带来了困扰。经过仔细检查,我发现了可能导致问题的原因所在。在你的代码中,初始化DF时, ...

用python显示习惯展示你这段代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-4-11 13:47:11 | 显示全部楼层
laiyuanjie 发表于 2024-04-11 13:46
用python显示习惯展示你这段代码


请参考下面的示例代码,使用Python Tkinter库展示了你提供的代码:

  1. import tkinter as tk
  2. from datetime import timedelta, date
  3. from path_all import get_refuel_sheet
  4. from tkinter import filedialog
  5. from tkinter import ttk

  6. class FirstFrame(tk.Frame):
  7.     def __init__(self, root):
  8.         super().__init__(root)
  9.         self.default_open_path = "d:/"
  10.         self.l_frame = tk.Frame(self)
  11.         self.l_frame.grid(row=0, column=0, pady=30)
  12.         self.r_frame = tk.Frame(self)
  13.         self.r_frame.grid(row=0, column=1, pady=30)
  14.         self.create_page()
  15.    
  16.     def get_human_sheet_path(self):
  17.         self.human_sheet_path = filedialog.askopenfilename(initialdir=self.default_open_path)
  18.    
  19.     def get_object_sheet_path(self):
  20.         self.object_sheet_path = filedialog.askopenfilename(initialdir=self.default_open_path)
  21.    
  22.     def road_table_label(self):
  23.         self.service_labelframe = tk.LabelFrame(self.l_frame, text="载入表格的区域")
  24.         self.human_sheet_botton = tk.Button(self.service_labelframe, text="人事部加油表格", command=self.get_human_sheet_path)
  25.         self.human_sheet_botton.grid(row=0, column=0, pady=10, padx=8)
  26.         self.split_line_label = tk.Label(self.service_labelframe, text="-" * 10, font=20)
  27.         self.split_line_label.grid(row=1, column=0, pady=5, padx=5)
  28.         self.object_sheet_botton = tk.Button(self.service_labelframe, text="核对方加油表格", command=self.get_object_sheet_path)
  29.         self.object_sheet_botton.grid(row=2, column=0, pady=10, padx=8)
  30.         self.split_line_label_2 = tk.Label(self.service_labelframe, font=20)
  31.         self.split_line_label_2.grid(row=3, column=0, pady=5, padx=5)
  32.         self.split_line_label_3 = tk.Label(self.service_labelframe, text="-" * 10, font=20)
  33.         self.split_line_label_3.grid(row=5, column=0, pady=5, padx=5)
  34.         self.get_df_botton = tk.Button(self.service_labelframe, text="点击载入表格", command=self.get_df)
  35.         self.get_df_botton.grid(row=6, column=0, pady=5, padx=5)
  36.         self.split_line_label_4 = tk.Label(self.service_labelframe, font=20)
  37.         self.split_line_label_4.grid(row=7, column=0, pady=5, padx=5)
  38.         self.service_labelframe.pack(padx=20, pady=10, anchor=tk.N)
  39.    
  40.     def get_df(self):
  41.         self.df = get_refuel_sheet()
  42.         self.df.set_path(self.human_sheet_path, self.object_sheet_path)
  43.         self.diff_liters_df = self.df.show_liters_diff()
  44.         self.diff_car_df = self.df.show_car_diff()
  45.         self.show_liters_treeview()
  46.         self.show_car_treeview()
  47.    
  48.     def show_table_label(self):
  49.         self.diff_liters()
  50.         tk.Label(self.r_frame).pack(pady=5)
  51.         self.diff_data()
  52.         tk.Label(self.r_frame).pack(pady=5)
  53.         self.diff_car()
  54.         tk.Label(self.r_frame).pack(pady=5)
  55.         self.human_have_not()
  56.         tk.Label(self.r_frame).pack(pady=5)
  57.         self.other_have_not()
  58.    
  59.     def diff_liters(self):
  60.         self.show_liters_table_frame = tk.LabelFrame(self.r_frame, text="加油升数不一致:", labelanchor=tk.N, font=15, fg="blue")
  61.         self.liters_treeview = ttk.Treeview(self.show_liters_table_frame, height=5, show="headings")
  62.         self.liters_treeview.pack()
  63.         self.liters_columns = self.liters_treeview
  64.         self.show_liters_table_frame.pack()
  65.         for column in self.liters_columns:
  66.             self.liters_treeview.heading(column, text=column)
  67.             self.liters_treeview.column(column="日期", width=75, anchor="e")
  68.             self.liters_treeview.column(column="车牌", width=100, anchor="e")
  69.             self.liters_treeview.column(column="人事部升数", width=80, anchor="e")
  70.             self.liters_treeview.column(column=f"核对方升数", width=80, anchor="e")
  71.    
  72.     def show_liters_treeview(self):
  73.         liters_df = self.diff_liters_df
  74.         self.liters_treeview.delete(*self.liters_treeview.get_children())
  75.         for index, row in liters_df.iterrows():
  76.             self.liters_treeview.insert("", "end", values=row.tolist())
  77.    
  78.     def diff_car(self):
  79.         self.show_table_frame = tk.LabelFrame(self.r_frame, text="加油车子不一致:", labelanchor=tk.N, font=15, fg="blue")
  80.         self.car_treeview = ttk.Treeview(self.show_table_frame, height=5, show="headings")
  81.         self.car_treeview.pack()
  82.         self.columns = self.car_treeview
  83.         self.show_table_frame.pack()
  84.         for column in self.columns:
  85.             self.car_treeview.heading(column, text=column)
  86.             self.car_treeview.column(column="日期", width=80, anchor="e")
  87.             self.car_treeview.column(column="加油升数", width=80, anchor="e")
  88.             self.car_treeview.column(column="人事部车牌", width=80, anchor="e")
  89.             self.car_treeview.column(column="核对方车牌", width=80, anchor="e")
  90.    
  91.     def show_car_treeview(self):
  92.         car_df = self.diff_car_df
  93.         print("jiushiwo")
  94.         self.car_treeview.delete(*self.car_treeview.get_children())
  95.         for index, row in car_df.iterrows():
  96.             self.car_treeview.insert("", "end", values=row.tolist())
  97.    
  98.     def create_page(self):
  99.         self.road_table_label()
  100.         self.show_table_label()

  101. if __name__ == '__main__':
  102.     root = tk.Tk()
  103.     FirstFrame(root).pack()
  104.     root.mainloop()
复制代码


希望这个示例代码能帮助到你!如果还有其他问题,请随时向我提问。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-22 06:49

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表