Tkinter:如何在画布窗口中获取框架以扩展到画布的大小?

周杰伦

因此,我一直在tkinter中使用canvas小部件来创建一个充满标签的框架,该框架具有滚动条。除了框架仅扩展到放置在其中的标签的大小外,其他所有组件都工作良好-我希望框架扩展到父画布的大小。

如果我对画布中的框架使用pack(expand = True)(在下面的代码中已注释掉),则可以轻松完成此操作,但随后滚动条将不起作用。

这是适当的代码位:

    ...
    self.canvas = Canvas(frame, bg = 'pink')
    self.canvas.pack(side = RIGHT, fill = BOTH, expand = True)

    self.mailbox_frame = Frame(self.canvas, bg = 'purple')

    self.canvas.create_window((0,0),window=self.mailbox_frame, anchor = NW)

    #self.mailbox_frame.pack(side = LEFT, fill = BOTH, expand = True)

    mail_scroll = Scrollbar(self.canvas, orient = "vertical",
        command = self.canvas.yview)
    mail_scroll.pack(side = RIGHT, fill = Y)

    self.canvas.config(yscrollcommand = mail_scroll.set)

    self.mailbox_frame.bind("<Configure>", self.OnFrameConfigure)


def OnFrameConfigure(self, event):
    self.canvas.configure(scrollregion=self.canvas.bbox("all"))

我还提供了带有彩色边框的图像,以便您可以看到我的意思。粉色区域是需要用mailbox_frame填充的画布(您可以在右侧看到滚动条):

布莱恩·奥克利(Bryan Oakley)

在canvas<Configure>事件上设置一个绑定,每当画布更改大小时都会触发。从事件对象中,您可以获取画布的宽度和高度,并使用它来调整框架的大小。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Java 8中将DH密钥大小扩展到2048

来自分类Dev

如何使用Kivy更改应用程序的画布或窗口大小

来自分类Dev

线宽扩展到所有画布对象

来自分类Dev

如何将非客户区域扩展到小于16像素的窗口中?

来自分类Dev

如何在ggplot中控制画布大小?

来自分类Dev

画布粒子-在“窗口调整大小”上更新画布大小

来自分类Dev

如何在Tkinter画布上更新情节?

来自分类Dev

如何在Tkinter窗口中调整从网站提取的照片的大小

来自分类Dev

如何使Tkinter画布更新?

来自分类Dev

如何通过新窗口更改Tkinter画布的尺寸?

来自分类Dev

如何创建与画布大小相同的电子窗口?

来自分类Dev

如何在不使用面向对象的编程的情况下在tkinter中将画布对象调整为窗口大小?

来自分类Dev

如何为画布大小更新Tkinter滚动条大小

来自分类Dev

窗口实例-如何在其他类中获取主窗口画布?

来自分类Dev

无法从窗口调整大小和jQuery绑定画布上的DOM中获取画布

来自分类Dev

如何从画布获取图像大小?

来自分类Dev

如何在Java 8中将DH密钥大小扩展到2048

来自分类Dev

如何调整画布大小

来自分类Dev

如何在画布上获取状态项

来自分类Dev

如何在一个框架中相对于Tkinter中的其他框架扩展窗口小部件的大小(帮助:Tkinter网格管理)

来自分类Dev

tkinter固定画布大小

来自分类Dev

如何在Tkinter画布上更新情节?

来自分类Dev

如何在框架内获取元素?(画画布)

来自分类Dev

如何在窗口调整大小时重绘画布

来自分类Dev

在新窗口中打印画布

来自分类Dev

如何在 tkinter 的画布中反转颜色?

来自分类Dev

如何刷新或销毁在 tkinter python 画布中创建的框架?

来自分类Dev

如何关闭 tkinter 画布?

来自分类Dev

如何防止 tkinter 画布的子窗口跨过画布滚动条

Related 相关文章

  1. 1

    如何在Java 8中将DH密钥大小扩展到2048

  2. 2

    如何使用Kivy更改应用程序的画布或窗口大小

  3. 3

    线宽扩展到所有画布对象

  4. 4

    如何将非客户区域扩展到小于16像素的窗口中?

  5. 5

    如何在ggplot中控制画布大小?

  6. 6

    画布粒子-在“窗口调整大小”上更新画布大小

  7. 7

    如何在Tkinter画布上更新情节?

  8. 8

    如何在Tkinter窗口中调整从网站提取的照片的大小

  9. 9

    如何使Tkinter画布更新?

  10. 10

    如何通过新窗口更改Tkinter画布的尺寸?

  11. 11

    如何创建与画布大小相同的电子窗口?

  12. 12

    如何在不使用面向对象的编程的情况下在tkinter中将画布对象调整为窗口大小?

  13. 13

    如何为画布大小更新Tkinter滚动条大小

  14. 14

    窗口实例-如何在其他类中获取主窗口画布?

  15. 15

    无法从窗口调整大小和jQuery绑定画布上的DOM中获取画布

  16. 16

    如何从画布获取图像大小?

  17. 17

    如何在Java 8中将DH密钥大小扩展到2048

  18. 18

    如何调整画布大小

  19. 19

    如何在画布上获取状态项

  20. 20

    如何在一个框架中相对于Tkinter中的其他框架扩展窗口小部件的大小(帮助:Tkinter网格管理)

  21. 21

    tkinter固定画布大小

  22. 22

    如何在Tkinter画布上更新情节?

  23. 23

    如何在框架内获取元素?(画画布)

  24. 24

    如何在窗口调整大小时重绘画布

  25. 25

    在新窗口中打印画布

  26. 26

    如何在 tkinter 的画布中反转颜色?

  27. 27

    如何刷新或销毁在 tkinter python 画布中创建的框架?

  28. 28

    如何关闭 tkinter 画布?

  29. 29

    如何防止 tkinter 画布的子窗口跨过画布滚动条

热门标签

归档