gpt4 book ai didi

python - Tkinter框架问题: resizing does not work

转载 作者:行者123 更新时间:2023-12-01 08:04:23 24 4
gpt4 key购买 nike

我希望能够使用嵌套框架,但有一个奇怪的行为:当我输入高度和宽度参数时,它们似乎不起作用。我使用 .grid() 这是导致问题的原因吗?我使用 ttk Frame,是否有一些我不知道的行为?

我查看了文档,但似乎没有任何帮助。我尝试更改参数,但也没有帮助。

from tkinter import *
from tkinter import ttk

root = Tk()
root.title("Tk test")
root.geometry("800x800")

frame_1 = ttk.Frame(root, height=400, width=400, relief="sunken")\
frame_1.grid(row=0, column=0, rowspan=1, columnspan=1)
frame_2 = ttk.Frame(frame_1, height=200, width=200, relief="sunken")\
frame_2.grid(row=0, column=0, rowspan=1, columnspan=1, sticky="N, S, W, E")
label_1 = ttk.Label(frame_2, text="Text")
label_1.grid(row=0, column=0, sticky="S, W, N, E")

root.mainloop()

预期结果:在另一个下沉框架内有一个下沉框架。嵌套框架内有一个名为“Text”的标签实际结果:标签始终在左上角,不想移动。

最佳答案

您可以使用grid_columnconfigure()grid_rowconfigure方法为网格上的单元格指定最小大小,如documented here

应用于您的代码(以及其他更正和改进):

import tkinter as tk
from tkinter import ttk

root = tk.Tk()
root.title("Tk test")
root.geometry("800x800")

frame_1 = ttk.Frame(root, height=400, width=400, relief="sunken")
frame_1.grid(row=0, column=0)

frame_2 = ttk.Frame(frame_1, height=200, width=200, relief="sunken")
frame_2.grid(row=0, column=0, sticky="NSWE")
frame_2.grid_rowconfigure(0, minsize=200)
frame_2.grid_columnconfigure(0, minsize=200)

label_1 = ttk.Label(frame_2, text="Text")
label_1.grid(row=0, column=0, sticky="NW")

root.mainloop()

关于python - Tkinter框架问题: resizing does not work,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55611271/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com