问题描述
我有一个 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 (将#修改为@)