Tkinter 网格几何管理器尺寸传播(带粘性)

2024-01-01

我遗漏了一些关于 Tk 中大小如何传播的信息。尝试这个:

from Tkinter import *

root = Tk()

frame1 = Frame(root, border=4, relief=RIDGE)
frame1.grid(sticky=E+W)
frame2 = Frame(root, border=4, relief=RIDGE)
frame2.grid(sticky=E+W)

label1 = Label(frame1, text='short', background='white')
label1.grid(sticky=E+W)
label2 = Label(frame2, text='quite a bit longer', background='white')
label2.grid(sticky=E+W)

root.mainloop()

label1 在frame1 内部,label2 在frame2 内部。 从白色背景可以看出,label1 比 label2 窄。但从边框来看,frame1 和frame2 的宽度相同。我认为粘性会将 label1 扩展到与其父级相同的宽度。

如果我将 label1 和 label2 放在同一帧内,则 label1 的宽度与 label2 的宽度一样:

frame1 = Frame(root, border=4, relief=RIDGE)
frame1.grid(sticky=E+W)

label1 = Label(frame1, text='short', background='white')
label1.grid(sticky=E+W)
label2 = Label(frame1, text='quite a bit longer', background='white')
label2.grid(sticky=E+W)

我缺少什么?在现实生活中,我有一些堆叠的嵌套框架,它们没有按照我想要的方式扩展。

谢谢, 担


行和列具有“权重”,描述它们如何增长或收缩以填充母版中的额外空间。默认情况下,行或列的权重为零,这意味着您已告诉标签填充该列,但尚未告诉该列填充主框架。

要解决此问题,请为该列指定权重。在这种特定情况下,任何正整数都可以:

frame1.columnconfigure(0, weight=1)
frame2.columnconfigure(0, weight=1)

欲了解更多信息grid,带有 ruby​​、tcl、perl 和 python 中的示例,请参阅tkdocs.com 上的网格页面 http://www.tkdocs.com/tutorial/grid.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Tkinter 网格几何管理器尺寸传播(带粘性) 的相关文章

  • 按下按钮时有多个命令

    我想在单击按钮时运行多个功能 例如我希望我的按钮看起来像 self testButton Button self text test command func1 command func2 当我执行此语句时 我收到错误 因为我无法将某些内容
  • 使用 TkInter 绑定设置不可交互(点击)覆盖

    我已经浏览了其他几篇关于类似问题的帖子 所有这些似乎都指向this https stackoverflow com questions 29458775 tkinter see through window not affected by
  • 更改 tkinter 中滚动条的外观(使用 ttk 样式)

    我想知道你是否可以帮我解决 ttk 中的样式选项问题 我已经设法将大部分基本 ttk 小部件更改为我喜欢的样式 我只是坚持改变滚动条的样式 我已经搜索了几个小时来寻找答案 不幸的是没有结果 这是使用滚动条样式选项的示例代码 import t
  • 在 4K 屏幕上使用 Matplotlib 和 TKAgg 或 Qt5Agg 后端

    我在 Ubuntu 16 04 上使用 Matplotlib 2 0 和 Python 3 6 来创建数据图 电脑显示器的分辨率为 4k 分辨率为 3840x2160 绘图数字看起来非常小 字体也很小 我已经尝试过TKAgg and Qt5
  • 如何在 Tkinter 的 Button 小部件中创建多个标签?

    我想知道如何在 Tkinter 中创建具有多个标签的按钮小部件 如下图所示 带有子标签的按钮 https i stack imgur com jOZRw jpg正如您所看到的 在某些按钮中有一个子标签 例如按钮 X 有另一个小标签 A 我试
  • Python Tkinter 网格复选框

    我想知道是否有一种简单的方法可以使用 Tkinter 创建复选框网格 我正在尝试制作一个由 10 行和 10 列 即 100 个复选框 组成的网格 以便每行只能选择两个复选框 编辑 我正在使用带有spyder的python 2 7 到目前为
  • 要在按下时创建一个按钮,请在 python 3.3 的输入框中打印该按钮上的编号

    我想制作一个写有 2 的按钮 现在当有人单击它时 它会在输入框中显示数字 2 错误是 点击之前 输入框中已经显示 2 所以请帮我消除这个错误 这是我的程序 from tkinter import root Tk def add x e1 E
  • Python PIL 标签中的图像自动调整大小

    我正在尝试制作一个小部件来保存图像 该图像将自动调整大小以适合其容器 例如如果直接打包到窗口中 则扩展该窗口将扩展图像 我有一些半功能的代码 但我必须在其中一个例程中添加几个常量 以防止自动调整大小重新触发自身 导致其大小不断增长 我确信这
  • 如何理解 lambda 中的闭包? [复制]

    这个问题在这里已经有答案了 我想循环制作 5 个按钮 并为每个按钮绑定一个命令来打印索引 在以下解决方案中 它始终打印相同的索引 我的代码是这样的 for i in range 5 make button Tkinter Button fr
  • 如何使 tkinter::pack() 在下面的程序中将标签放置在左上角?

    我正在使用 pack 来对齐 tkinter 上的标签和按钮 以下代码 from tkinter import wind Tk wind geometry 450x450 l1 Label wind text Did you mean l1
  • 为什么tcl/tkinter只支持BMP字符?

    我正在尝试在基于 tkinter 和 tcl 构建的 gui 中查询和显示 utf 8 编码字符 但是 我发现 tkinter 无法显示 4 字节字符 即大于 U FFFF 的 unicode 代码点 为什么会这样呢 实现非 BMP 字符对
  • Tk 框架内的 Chrome 网页

    我想在 Tcl Tk 框架内运行我的 chrome 页面 我必须从 Windows 平台运行我的脚本 到目前为止 我可以使用 start 命令启动 chrome 页面 如何将我的 chrome 页面包含在 Tk 窗口内 eval exec
  • 如何将文件夹中的所有图像添加到按钮(在我的框架中)[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我想存储 jpg数组中文件夹中的图像 然后使用它们将其添加到我的 Python 框架中的按钮中 我正在 Python 3 4 3 中使用 t
  • 更改自动插入 tkinter 小部件的文本颜色

    我有一个文本框小部件 其中插入了三条消息 一条是开始消息 一条是结束消息 一条是在 单位 被摧毁时发出警报的消息 我希望开始和结束消息是黑色的 但被毁坏的消息 参见我在代码中评论的位置 插入小部件时颜色为红色 我不太确定如何去做这件事 我看
  • 如何取消选择单选按钮 tkinter

    我看过几个在线教程 它们似乎都不能正常工作 我需要在单击清除按钮后取消选择单选按钮 deselect 方法不执行任何操作 清除文本和输入框工作正常 请协助 谢谢你 from tkinter import class Example Fram
  • Python 方程解析器

    我正在编写一个程序 需要用户输入 x 的多项式函数 我正在使用 Tkinter 和 python 2 5 我有一个解析器方法 到目前为止 它接受输入的方程并将其拆分为项而不丢弃符号 我想获取每个术语并解析它以获得 系数 度 的元组 例如 2
  • 在数据库中插入具有相同组合框的 2 个函数的字段。仅保存第一个函数的数据

    我有一个用 tkinter 制作的数据库管理器 我在其中插入和保存数据 它工作正常 一切正确 它正确保存一切 我尝试添加新插入 这就是我遇到问题的地方 但是 我无法从同一组合框添加新的字段插入 即同一组合框插入 2 个内容 我用2个不同的c
  • 如何在Python Idle中运行单元测试?

    我为我的单词出现 Gui 项目创建了一个 python 单元测试 我想测试前 5 个单词的出现情况 因此它应该返回一个真值 但是我不知道如何运行单元测试 我正在尝试使用空闲 shell 但我应该使用 Visual Studio 命令提示符
  • _tkinter.TclError:新 OS X Mavericks 没有显示名称,也没有 $DISPLAY 环境变量

    这是我的第一篇文章 所以请原谅 我正在尝试使用 matplotlib 创建动画 直到几天前我都可以完美地做到这一点 直到我升级到 OS X Mavericks 从此一切都崩溃了 请注意 以下代码适用于 OS X Lion 突然 我在 Mav
  • 在python中的tkinter.ttk中使图像精确居中

    我正在使用 tkinter ttk 创建一个简单的应用程序 我正在创建一个图像查看器应用程序 但在创建该应用程序时我遇到了一些问题 这是我的代码 from tkinter import from tkinter ttk import fro

随机推荐