如何解决Tkinter 以编程方式调整框架大小
我有一个 toplevel
窗口,我在其中创建了一个 canvas
和一个 frame
以支持滚动功能。
部分 canvas
和 frame
代码如下所示:
##Canvas
self.canvas = tk.Canvas(self.toplevel,borderwidth=0)
self.canvas.bind_all("<MouseWheel>",self.__on_mousewheel)
self.canvas.pack(side="left",fill="both",expand=True)
##Frame
self.frame = tk.Frame(self.canvas,background="red")
self.frame.bind("<Configure>",lambda event,canvas=self.canvas: self.__on_frame_configure())
self.canvas.create_window((1,1),window=self.frame,anchor="n")
......
在代码中的“稍后”我用动态生成的复选按钮数量填充 frame
。 (取决于用户输入)
问题 #1
我无法检索 text
的 checkbuttons
属性的宽度(最好以像素为单位)。我找到了解决方法!
问题#2
我想以编程方式调整 frame
的宽度。
self.frame.update()
print("Im here",self.frame.winfo_width())
self.frame.configure(width=self.frame.winfo_width() + 30)
print("Now im here",self.frame.winfo_width())
self.canvas.configure(width=self.frame.winfo_width())
self.canvas.configure(height=self.frame.winfo_height())
打印语句的结果:
Im here 904
Now im here 934
当我检查 gui 时,我注意到只有那个画布被调整了大小。
gui 右侧部分的图片,应该用 frame
的红色背景填充。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。