使用预制用户界面 (pygubu) 时如何在 Tkinter 中扩展滚动条
How to expand a Scrollbar in Tkinter when working with a pre-made user interface (pygubu)
PyGubu 是一个简单的 Python 程序,允许使用 Tkinter 小部件创建 UI 界面。
所以我创建了一个 UI 像右边的这个
现在,我希望滚动条与文本小部件一样大。
"How can I make the Scrollbar bigger on Tkinter" 在 Whosebug 上被问了很多次。就我而言,我无法使用函数 pack() 或 grid(),因为我正在导入一个已经半完成的 UI
我用来加载Text和Scrollbar的代码如下:
self.log = builder.get_object('log')
self.log_scroll = builder.get_object('log_scroll')
self.log.config(yscrollcommand=self.log_scroll.set)
self.log_scroll.config(command=self.log.yview)
现在,我在这里看到两种可能性:
1。从 PyGubu
求解
最简单的方法应该是从 PyGubu 设置一些属性来解决这个问题。然而,PyGubu 只允许我更改滚动条的少量属性,其中 none 似乎是相关的
2。从 Python
求解
在这里我不知道该怎么做。我不知道在使用自定义接口时是否可以使用 pack() 和 grid()
感谢任何帮助
在写问题时,我找到了一个 not-so-intuitive 答案,仍然是最好的答案:
属性"sticky"才是能解决问题的人。什么是not-so-intuitive就是你可以select多个方块ctrl+click。如果您习惯于使用 Tkinter,这可能不会让您感到惊讶,但就我而言(使用 Tkinter 的第一天)我可以认为自己很幸运
当您在 Pygubu 中设置粘性选项时,即使所有三个方块都突出显示,它也会设置 NS(北南),这是预期的结果。
生成的代码也只有 'ns',像这样:
self.scroll_bar.grid(column='0', row='0', sticky='ns')
在 Pygubu 中选择 central/middle 方块不会影响 'ns'。当您突出显示 3 个方块时,它应该仍会为您提供预期的结果。
PyGubu 是一个简单的 Python 程序,允许使用 Tkinter 小部件创建 UI 界面。
所以我创建了一个 UI 像右边的这个
现在,我希望滚动条与文本小部件一样大。
"How can I make the Scrollbar bigger on Tkinter" 在 Whosebug 上被问了很多次。就我而言,我无法使用函数 pack() 或 grid(),因为我正在导入一个已经半完成的 UI
我用来加载Text和Scrollbar的代码如下:
self.log = builder.get_object('log')
self.log_scroll = builder.get_object('log_scroll')
self.log.config(yscrollcommand=self.log_scroll.set)
self.log_scroll.config(command=self.log.yview)
现在,我在这里看到两种可能性:
1。从 PyGubu
求解最简单的方法应该是从 PyGubu 设置一些属性来解决这个问题。然而,PyGubu 只允许我更改滚动条的少量属性,其中 none 似乎是相关的
2。从 Python
求解在这里我不知道该怎么做。我不知道在使用自定义接口时是否可以使用 pack() 和 grid()
感谢任何帮助
在写问题时,我找到了一个 not-so-intuitive 答案,仍然是最好的答案:
属性"sticky"才是能解决问题的人。什么是not-so-intuitive就是你可以select多个方块ctrl+click。如果您习惯于使用 Tkinter,这可能不会让您感到惊讶,但就我而言(使用 Tkinter 的第一天)我可以认为自己很幸运
当您在 Pygubu 中设置粘性选项时,即使所有三个方块都突出显示,它也会设置 NS(北南),这是预期的结果。
生成的代码也只有 'ns',像这样:
self.scroll_bar.grid(column='0', row='0', sticky='ns')
在 Pygubu 中选择 central/middle 方块不会影响 'ns'。当您突出显示 3 个方块时,它应该仍会为您提供预期的结果。