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

如何设置框架的最小和最大高度或宽度?

桑坚成
2023-03-14
问题内容

Tkinter窗口的大小可以通过以下方法控制:

.minsize()
.maxsize()
.resizable()

是否有等效的方法来控制Tkinter或ttk帧的大小?

@Bryan:我将您的frame1.pack代码更改为以下代码:

frame1.pack(fill='both', expand=True)
frame1.bind( '<Configure>', maxsize )

我添加了此事件处理程序:

# attempt to prevent frame from growing past a certain size
def maxsize( event=None ):
    print frame1.winfo_width()
    if frame1.winfo_width() > 200:
        print 'frame1 wider than 200 pixels'
        frame1.pack_propagate(0)
        frame1.config( width=200 )
        return 'break'

上面的事件处理程序检测到帧的宽度太大,但是无法防止大小增加。这是Tkinter的限制,还是我误解了您的解释?


问题答案:

没有单个魔术功能可以将帧强制为最小或固定大小。但是,您可以通过为框架指定宽度和高度来强制框架的大小。然后,您可能还需要做两件事:将窗口放置在容器中时,需要确保几何管理器不会收缩或扩展窗口。第二,如果框架是其他小部件的容器,请关闭网格或包的传播,以使框架不会收缩或扩展以适合其自身的内容。

但是请注意,这不会阻止您将窗口的大小调整为小于内部框架。在这种情况下,框架将被剪切。

import Tkinter as tk

root = tk.Tk()
frame1 = tk.Frame(root, width=100, height=100, background="bisque")
frame2 = tk.Frame(root, width=50, height = 50, background="#b22222")

frame1.pack(fill=None, expand=False)
frame2.place(relx=.5, rely=.5, anchor="c")

root.mainloop()


 类似资料:
  • 问题内容: 我有这个设置: HTML : CSS : 通过此设置,它可以在iPhone上运行,但不能在浏览器中运行。 是因为我已经在meta中,也许已经在? 问题答案: 我发现最好的方法是为较旧的浏览器编写默认CSS,因为较旧的浏览器包括5.5、6、7和8。无法读取@media。当我使用@media时,我会这样使用: 但是,您可以使用@media进行任何操作,这只是为所有浏览器构建样式时最适合我的

  • 问题内容: 我有一个表,我想定义和属性。请参见下面的示例。 我现在的问题是浏览器无法使用它。如果我在它上定义它,将被忽略,如果我在一个元素内的一个元素中定义它,则内容具有正确的最小和最大宽度,但表的大小仍然相同。(所以有很多可用空间:/) 我该如何解决? 编辑:我只是注意到问题似乎仅在表处于全屏模式时才会发生。但是,元素的最大宽度不应大于! 例: 问题答案: 对于表单元格,应使用’width’属性

  • 问题内容: 编写CSS媒体查询时,有什么方法可以使用“或”逻辑指定多个条件? 我正在尝试做这样的事情: 问题答案: 使用逗号指定两个(或多个)不同的规则: 从https://developer.mozilla.org/en/CSS/Media_queries/ …此外,您可以在逗号分隔的列表中组合多个媒体查询;如果列表中的任何媒体查询为true,则将应用关联的样式表。这等效于逻辑“或”运算。

  • 我用的是木星笔记本。我有一个相当宽的屏幕,但是显示的输出(例如,当我打印一个数组时)被格式化,就像屏幕很窄一样。 我找到了一种增加细胞宽度的方法 但这似乎只影响输入,而不影响输出(参见屏幕截图): 我已尝试在

  • 我的游戏使用什么高度和宽度有关系吗?在我的游戏中,我有几个多边形,它们都与我画过的图像相连,但当我有800x480的宽度和高度时,我必须把图像画得很小,这导致它们变得模糊。而且,我真的不明白这在不同尺寸的手机屏幕上是如何表现的…我所画的图像是被拉长了,还是它们仍然很小,即使是在大平板上?所以我的问题是,在一个libgdx游戏中,最优的宽度和高度是多少? 这是我代码的一部分,也许可以帮助您理解我的意

  • 问题内容: 我得到了一个具有固定宽度和高度的表格单元,并且如果文本太大,单元格大小应保持不变,并且文本应通过overflow:hidden隐藏。 但是,如果添加了太多文本,则表格单元格会扩展到100px以上。有什么技巧可以阻止它扩展吗? 文本的长度应为几行,因此“ white-space:nowrap”解决方案不适用 问题答案: 根据CSS 2.1规则,表格单元格的高度为“内容所需的最小高度”。因