【问题标题】:Python collapsible sidebar on tkinter [closed]tkinter上的Python可折叠侧边栏[关闭]
【发布时间】:2019-09-20 03:33:00
【问题描述】:

我在 python 中创建了一个多功能工具,它有一个可折叠的导航侧边栏,但是我对 tkinter 和 python 本身很陌生,这本身就是我问这个问题的原因。我没有代码,因为这是我想到的第一件事,所有的教程都是关于 Javascript 或一些过度编程语言的。

【问题讨论】:

  • 酷,你有问题吗?
  • 你还没有问过问题。诸如“如何创建可折叠侧边栏”之类的问题过于宽泛和模糊。您需要通过 tkinter 教程了解基础知识,然后尝试自己创建它,然后再提出更具体的问题。
  • [python][tkinter] sidebar中选择一个
  • 你是什么意思所有的教程都是关于“javascript或其他编程语言”的。我 100% 确定那里有大量的 python 和 tkinter 教程。我自己为我的一个应用程序制作了一个可折叠的框架,编写一个可以打开和关闭几何管理器的函数很简单。

标签: python tkinter


【解决方案1】:

这是一个如何创建可折叠框架的简单示例。您可以使用相同的方法通过将所有侧边栏内容放在框架中来创建可折叠的侧边栏。

import tkinter as tk


class Example(tk.Tk):
    def __init__(self):
        super().__init__()
        self.geometry('300x100')
        self.left_frame = tk.Frame(self)
        self.left_frame.grid(row=0, column=0, sticky='nsew')
        self.right_frame = tk.Frame(self)
        self.rowconfigure(0, weight=1)
        for i in range(3):
            self.columnconfigure(i, weight=1)

        tk.Label(self.left_frame, text='Left Frame').grid(row=0, column=0, sticky='nsew')
        tk.Label(self.right_frame, text='Right Frame').grid(row=0, column=0, sticky='nsew')

        self.frame_status = False
        self.ar_btn = tk.Button(self, text="▶", width=1, command=self.toggle_right_frame)
        self.ar_btn.grid(row=0, column=2, sticky='nse')

    def toggle_right_frame(self):
        if self.frame_status:
            self.right_frame.grid_forget()
            self.frame_status = False
            self.ar_btn.config(text="▶")
        else:
            self.frame_status = True
            self.right_frame.grid(row=0, column=1, sticky='nsew')
            self.ar_btn.config(text="◀")

Example().mainloop()

结果:

【讨论】:

    猜你喜欢
    • 2016-11-14
    • 2014-06-20
    • 1970-01-01
    • 1970-01-01
    • 2019-11-13
    • 1970-01-01
    • 2013-06-19
    • 1970-01-01
    • 2017-05-29
    相关资源
    最近更新 更多