python - Tkinter 网格“粘性”不适用于网格传播
问题描述
我遇到的问题的简化版本。以下代码产生此输出:
from tkinter import *
# init root
root = Tk()
# get window size
windowWidth = root.winfo_screenwidth()
windowHeight = root.winfo_screenheight()
# create green frame
greenFrame = Frame(root,width=windowWidth, height=windowHeight/2, borderwidth = 0, highlightthickness = 0, bg='green')
greenFrame.grid_propagate(0) # fixed size
greenFrame.grid(row=0, column = 0)
# create blue canvas inside green frame
blueCanvas = Canvas(greenFrame, width=windowWidth/5, height=windowHeight/2, borderwidth = 0, highlightthickness = 0, bg='blue')
blueCanvas.grid(row=0, column = 0, sticky = 'e') # display it on the right side
# run loop
root.mainloop()
蓝色画布设置在绿色框架中。我的问题是,为什么蓝色画布没有出现在绿色框架的右侧,当它在网格调用中设置为sticky ='e'时?
提前致谢!
解决方案
我的问题是,为什么蓝色画布没有出现在绿色框架的右侧,当它在网格调用中设置为sticky ='e'时?
您将蓝色画布放在第 0 列中,该列将从绿色框的最左侧开始。你给它的宽度是窗口宽度的 1/5,这样grid
就可以为它分配尽可能多的空间。其他 4/5 的窗口未被网格使用。
推荐阅读
- c# - WPF ComboBox 选择导致在第二个 ComboBox 中进行选择
- git - Delphi 10 Git 如何提交到 Github?
- github - Github 操作,使用 npm 或 yarn 安装 Github 包时出现 401 未授权
- r - 将列变量的 NA 值替换为每个变量的平均值
- hadoop-yarn - 有没有办法为 yarn2 monorepo 中的一个包安装依赖项?
- azure-active-directory - 是否可以使用 Azure AD 作为身份提供者从 Azure AD B2C 登录获取 MSGraph 访问令牌?
- c++ - C++20 #import ""-statement:是否可以使用多个预处理的头文件
- awk - 使用 awk 过滤返回空文件
- go - 为什么我无法在服务器端获取上下文值
- php - Foreach 只返回第一条记录,停止