鱼C论坛

 找回密码
 立即注册
查看: 1693|回复: 7

我有一个tk.Menu

[复制链接]
发表于 2024-4-1 23:46:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
我有一个tk.Menu,上面有两个界面,都是Frame,然后我想给这两个Frame都分别加上各自的一条Y轴上的tk.Scrollbar,彼此间互不干扰,,而且在pack_forget第一个Frame的时候,,第一个Frame上的那条tk.Scrollbar也跟着隐藏起来。显示的是第二个Frame和它自己的滚动条,,然后我在pack_forget第二个Frame,~显示第一个Frame的时候,也显示第一个Frame它的滚动条,同时隐藏第二个Frame的滚动条。得怎么弄
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2024-4-1 23:54:39 | 显示全部楼层
FishC 发表于 2024-4-1 23:52
要实现这个需求,你可以使用`tk.Scrollbar`和`tk.Canvas`组合起来完成。下面是一个示例代码,演示了如何给 ...

你的代码就一块白板,什么东西都没有
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-4-2 00:25:10 | 显示全部楼层
FishC 发表于 2024-4-1 23:54
非常抱歉,让您感到困惑了。请先确保您的浏览器支持运行Python程序并启用了相关功能。以下是我为您提供 ...

class ChangeFrame(tk.Frame):
    def __init__(self, root):
        super().__init__(root)
        self.car_data = pd.read_excel(path_all.car_total_path)
        self.box_data = pd.read_excel(path_all.box_total_path)
        self.up_l_frame = tk.Frame(self)
        self.up_l_frame.grid(row=0, column=0)
        self.up_r_frame = tk.Frame(self)
        self.up_r_frame.grid(row=0, column=1)


        self.l_frame = tk.Frame(self)
        self.l_frame.grid(row=1,column=0)
        self.r_frame = tk.Frame(self)
        self.r_frame.grid(row=1,column=1)


        self.create_page()


    def display_dataframe(self,df):

        self.car_treeview.delete(*self.car_treeview.get_children())
        for index, row in df.iterrows():
            self.car_treeview.insert("", 'end', values=row.tolist())

    def get_car_sheet(self):
        # 从Excel读取数据到DataFrame
        self.df1 = pd.read_excel(path_all.car_total_path, index_col=None)
        self.df = self.df1[['车号','现金']].fillna(method='ffill')
        self.df["现金"] = self.df["现金"].astype(float)
        self.df['车号'] = self.df['车号'].str.upper()
        self.df = self.df.dropna(axis=1, how='all')
        # 在Treeview中显示DataFrame的所有数据
        self.display_dataframe(self.df)

    def car_treeview_laber(self):
        self.car_yscroll = tk.Scrollbar(orient=tk.VERTICAL)
        self.car_treeview = ttk.Treeview(self.l_frame,height=37, yscrollcommand=self.car_yscroll.set)# 创建一个Treeview控件
        self.car_columns = ['车号', '现金']# 添加表头
        self.car_treeview['columns'] = self.car_columns
        for column in self.car_columns:
            self.car_treeview.heading(column, text=column)
        # 显示TreeView
        self.get_car_sheet()
        self.car_vsb = ttk.Scrollbar(orient='vertical', command=self.car_treeview.yview)
        self.car_vsb.pack(side='right', fill='y')

        self.car_treeview.column(column='#0', width=1)
        self.car_treeview.column(column='车号', width=10, anchor='w')
        self.car_treeview.column(column='现金', width=8, anchor='e')
        # 设置TreeView的垂直滚动条
        self.car_treeview.configure(yscrollcommand=self.car_vsb.set)

    def create_page(self):
        self.check_car_laber()
        self.check_box_laber()



为什么会显示不出来
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-4-2 00:28:22 | 显示全部楼层
FishC 发表于 2024-4-2 00:25
根据您提供的代码,我发现在`car_treeview_laber`方法中有一个问题。您在创建TreeView控件后,给变量`s ...

我的代码里面就是这个啊,,根本就没有上面那个代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-7 02:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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