【问题标题】:How to make ttk.Progressbar take up the entire width of a frame?如何让 ttk.Progressbar 占据一帧的整个宽度?
【发布时间】:2020-12-16 05:19:05
【问题描述】:

我有一个我正在开发的 GUI,在经历了几次小问题之后,它大部分都运行良好,但我不知道如何让 ttk.Progressbar 占据它放置的框架的整个宽度在。

这是我用来创建进度条的代码:

    def _create_progressbar(self):
        self.progress = ttk.Progressbar(self.bottom, orient=tk.HORIZONTAL, mode='determinate')
        self.progress.grid(row=0, column=0, sticky=tk.E+tk.W)

我尝试了一些方法,最新的你可以在代码中看到sticky=tk.E+tk.W,但它们似乎都没有做任何事情,即使它所在的框架占用了条形,它也保持狭窄(以红色突出显示)向上扩展父窗口的整个宽度。同样从我检查的内容来看,进度条小部件似乎根本没有 width 参数。

有谁知道如何改变宽度?

【问题讨论】:

    标签: python tkinter progress-bar


    【解决方案1】:

    即使您告诉进度条占用单元格的所有水平空间,但您没有告诉布局管理器第 0 列(进度条所在的位置)占用单元格的所有可用水平空间框架:

    self.bottom.columnconfigure(0, weight=1)
    

    【讨论】:

    • 谢谢!那解决了它。我以前从未使用过weight,但现在我会留意它。
    猜你喜欢
    • 1970-01-01
    • 2017-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-30
    • 2013-08-28
    • 1970-01-01
    相关资源
    最近更新 更多