当前位置: 首页 > 知识库问答 >
问题:

调整应用程序中tkinter小部件的大小

罗祺
2023-03-14

我正在尝试用tkinter构建一个navigator应用程序,并且对于制作GUI和一般使用tkinter非常陌生。当整个窗口调整大小时,我似乎不知道如何很好地调整小部件的大小。当前调整大小的工作方式如下图所示。

顶部的描述是一个tkinter消息小部件,中间的导航树是一个检查表,两个按钮是常规按钮,按钮下面的文本是一个标签对象。我把这些放在tkinter根中。grid()方法,并根据需要使用ipadx、ipady、padx和pady来调整它们的大小。

如果窗口的大小与清单对象类似,我希望文本和按钮不会消失。理想情况下,在调整窗口大小时,我希望文本能够自动换行并为自己留出空间。我可以为窗口设置一个最小尺寸,以确保一切都合适,但调整大小仍然不够优雅。我似乎一点也不懂包装这个词。

任何关于如何改善这一点的提示都将不胜感激。此项目的代码在此github repo中。tkinter应用程序的脚本是gui_数据。皮耶。

共有1个答案

白飞飙
2023-03-14

这是示例代码,它将帮助您了解调整大小的工作原理。我建议你使用Grid.rowconfigure()Grid.columnconfigure()

示例代码:

import tkinter as tk
from tkinter import Grid, Button

root = tk.Tk()
root.title("resize button")
root.geometry("500x500")


# here you need to put on what do you want to use row configure, index(row) and weight
Grid.rowconfigure(root, 0, weight=1)  # we use on root, row=0 weight=1
Grid.columnconfigure(root, 0, weight=1)

#configure 2nd row
Grid.rowconfigure(root, 1, weight=1)


#configure 3rd row
Grid.rowconfigure(root, 2, weight=1)

#configure 2nd column
Grid.columnconfigure(root, 1, weight=1)

button1 = Button(root, text="Button1")
button2 = Button(root, text="Button2")
button3 = Button(root, text="Button3")

button1.grid(row=0, column=0, sticky="nsew")
button2.grid(row=1, column=0, sticky="nsew")
button3.grid(row=2, column=0, sticky="nsew")

button1_1 = Button(root, text="Button1_1")
button2_1 = Button(root, text="Button2_1")
button3_1 = Button(root, text="Button3_1")

button1_1.grid(row=0, column=1, sticky="nsew")
button2_1.grid(row=1, column=1, sticky="nsew")
button3_1.grid(row=2, column=1, sticky="nsew")

root.mainloop()
 类似资料:
  • 在tkinter中调整窗口大小时,有没有办法动态调整小部件的大小? 这是代码: 当我调整窗口大小时,窗口小部件的宽度和高度保持不变。 我想要的是根据窗口的大小动态调整窗口小部件的大小。 有没有办法在tkinter中实现这一点? 如果有人能帮我,那就太好了。

  • 我有一个窗口与列表框,调整大小与彼此。我用网格来做这个。列表框下面有一排按钮,它们当前正在随着窗口移动和调整大小。我希望按钮保持原位,并在窗口和列表框调整大小时保持一致的大小(所以按钮总是保持在列表框的左下角)。 有简单的方法吗?我今天才开始使用Tkinter,所以我可能只是在文档中错过了它,或者可能只是在网格布局上感到困惑。 按钮设置如下: 我已经尝试了所有粘性组合,但那些不调整按钮大小的组合仍

  • 问题内容: 我使用Qt Designer创建了一个简单的UI,并将其转换为Python代码。我搜索了任何方法来检测不断变化的窗口大小。 这是生成的代码: 我发现类似的问题QWidget调整大小信号吗?而本教程将介绍建议重写 QMainWindow的 resizeEvent 方法的大小。 __ 但是他们中的任何一个都不能解决我的问题。是否有任何 调整大小的 功能来检测窗口的大小,如下所示: 问题答案

  • 问题内容: 我目前正在使用PIL在Tkinter中显示图像。我想临时调整这些图像的大小,以便可以更轻松地查看它们。我该怎么办? 片段: 问题答案: 这就是我所做的,并且效果很好… 你去了:) 编辑: 这是我的进口声明: 这是我改编自此示例的完整工作代码: 这是PhotoImage类文档:http ://www.pythonware.com/library/tkinter/introduction/

  • 我想在tkinter中创建由笔记本框架和每个选项卡内的几个框架组成的简单图形用户界面。假设我想在笔记本的每个选项卡内创建两个标记的框架,跨越100%的窗口宽度和50%的窗口高度。 屏幕布局 我将有更多的帧/元素,我想采取窗口宽度/高度的x%。 我读到tkintergui应该自动调整窗口大小时,但我不能让它工作。 如何设置帧以获取100%的窗口宽度和(例如)50%的窗口高度? 如何使框架居中,使其不

  • 问题内容: 我正在尝试在python 2.7中创建一个tkinter项目,用户可以在其中调整窗口的大小,并且窗口中的所有内容都将随之缩放。这意味着画布,画布中的形状以及最重要的是PhotoImages将随窗口缩放。我的问题是我一生都无法正确调整图像大小。我知道并且为此目的而存在,但是首先 在50x50像素的图像中没有明显变化,对于zoom(2,2)也相同。重要的是要注意我知道PIL存在,但是出于本