当前位置: 首页 > 面试题库 >

如何使用Tkinter在Python 2.7中创建等宽列

阴凯歌
2023-03-14
问题内容

如何强制Tkinter应用程序窗口中的列具有相等的宽度?

tkdocs网站的状态如下:

每列的宽度(或每行的高度)取决于列或行中包含的小部件的宽度或高度。这意味着在草绘用户界面并将其划分为行和列时,您无需担心每个列或行的宽度[或大概高度]相等。

http://www.tkdocs.com/tutorial/grid.html

但是我 希望 这些列的宽度相等,最好使 所有 列的宽度取决于 任何
列中最宽的窗口小部件。有没有一种方法可以干净利落地做到这一点(即不要反复尝试使用单元格填充,除非我通过反复试验使它们完全相同,或者通过为每列任意分配一个显然足够的最小宽度)?另外,是否可以选择性地为网格中的某些列(但不是全部列)完成操作(例如,使X
Y列的大小根据X Y列中最宽的窗口小部件来确定,而Z列的大小根据其中X列中的最宽窗口小工具来确定。 Z栏)?


问题答案:

为了使网格布局的所有列都具有相同的宽度,必须将这些列配置为具有相同的权重并处于相同的统一组中。此配置与主窗口小部件相关联,而不与所包含的任何窗口小部件相关联(因为列当然可以包含许多窗口小部件)。

在标准Tk中,这可以通过以下方式完成:

# "fred" is just some arbitrary key; it means nothing other than to name the group
grid columnconfigure $master 0 -weight 1 -uniform fred

在Tkinter中(请注意,文档字符串中uniform似乎没有记录此文件,但这正是您所需要的):

# "fred" is just some arbitrary key; it means nothing other than to name the group
master.grid_columnconfigure(0, weight=1, uniform="fred")

然后,对要为其设置内容的其他列索引重复上述步骤。(如您所见,这两种情况下的代码 非常 相似。)



 类似资料:
  • 我的系统正在运行CentOS 6。我没有管理员访问权限,所以sudo不可用。我有Python 2.7.3可用,以及和。我希望我可以使用这些来建立一个新的虚拟环境在其中安装 我尝试了这里描述的方法:在virtualenv中使用python3 但是得到了这个错误: 我的系统还安装了Python 3.4模块,因此我尝试了这一点,但virtualenv似乎无法在那里工作: 这似乎是有道理的,因为只有Pyt

  • 问题内容: 我需要使用Python的tkinter库编写程序。 我的主要问题是我不知道如何创建计时器或类似 的时钟hh:。 我需要它来更新自身(这是我不知道该怎么做的)。 问题答案: 根窗口具有一种称为的方法,该方法可用于安排给定时间段后要调用的函数。如果该函数本身调用,则您已设置了一个自动重复事件。 这是一个工作示例: 请记住,这不能保证该功能将完全按时运行。它仅计划在给定的时间后运行作业。由于

  • 问题内容: 我正在使用Python 3.3和tkinter制作用于行人逃生模拟的GUI界面。 我已经编写了两个模拟程序,它们运行良好。但是,当尝试从主应用程序调用它们时,我陷入了困境。我希望模拟窗口出现在单独的窗口中(创建主窗口的子窗口)。 如何使用tkinter从主应用程序启动子窗口? 问题答案: 您可以通过创建的实例来创建子窗口。有关更多信息,请参见http://effbot.org/tkin

  • 问题内容: 我有一个运行一些嵌入式Python脚本的MFC应用程序。我正在尝试使该嵌入式脚本创建模态对话框之一,但是我没有取得太大的成功。 谁能指出我进行模态对话的方式吗?我需要为此使用Windows函数还是仅Tk或Python函数就足够了? 对于我搜索过的内容,似乎以下功能组合可以发挥作用,但它们似乎没有按我期望的方式工作: 问题答案: 是使窗口成为“应用程序模式”的适当机制。也就是说,它从同一

  • 问题内容: 如何让您的div一路下滑?如何填充父div的垂直空间?如何在不使用背景图像的情况下获得等长的列? 我花了几天时间使用Google搜寻和剖析代码,以了解如何尽可能简单高效地完成等长列。这是我想出的答案,我想在一个小教程中与社区复制和粘贴样式共享此知识。 对于那些认为这是重复的,不是。我受到几个网站的启发,其中包括http://matthewjamestaylor.com/blog/equ

  • 问题内容: from Tkinter import * import time #Tkinter stuff 我正在尝试创建一个配方显示,以在Tkinter GUI的屏幕上显示步骤,说明,重量和其他变量。 但是,我不知道如何根据配方的每个新步骤来更新GUI以进行更改,因为必须根据用户输入(从服务器获取)动态更新内容。如何根据步骤的更改实现GUI其他元素的更新? 问题答案: 您可以在(例如)1000