gpt4 book ai didi

python - 为什么我的按钮没有转到 GUI 窗口的最右侧?

转载 作者:太空宇宙 更新时间:2023-11-04 02:20:54 25 4
gpt4 key购买 nike

我的按钮上的 column 值设置为 500,但按钮​​似乎没有向右移动那么远。

这是我的代码:

from tkinter import *

root = Tk()
root.geometry("500x500")

logo = Label(root,text = "New File Finder")
new_folder = Button(text = "browse new folder")
old_folder = Button(text = "browse old folder")

logo.grid(row=0, column=8)
new_folder.grid(row=1,column=1)
old_folder.grid(row=1,column=500)

root.mainloop()

enter image description here

最佳答案

正如 Novel 提到的,空列的宽度为 0,因此您的 column=8column=2column=500 具有相同的效果 作为 column=3。当然,您的第 0 列的宽度为零。您可以使用 .pack 而不是 .grid,正如 Novel 建议的那样,但不要混合使用 .pack.grid 到同一个容器小部件中,在本例中是根窗口。但是,您可以通过 .grid sticky arg 实现您想要的,但您还需要为包含 old_folder 的列设置列权重> 按钮。例如:

import tkinter as tk

root = tk.Tk()
root.geometry("500x500")
root.columnconfigure(2, weight=1)

logo = tk.Label(root, text="New File Finder")
new_folder = tk.Button(root, text="browse new folder")
old_folder = tk.Button(root, text="browse old folder")

logo.grid(row=0, column=1)
new_folder.grid(row=1,column=0)
old_folder.grid(row=1,column=2, sticky="e")

root.mainloop()

我还更改了“star”导入,因为它会将 130 个 Tkinter 名称转储到您的命名空间中,这很困惑,浪费空间,并且可能导致名称冲突,尤其是当您进行其他 star 导入时。


正如 Bryan 提到的,.pack(side=RIGHT) 实际上并没有强制小部件位于容器的右侧,它只是告诉 .pack 打包朝那一边的小部件。因此,如果您使用 .pack(side=RIGHT) 打包一堆小部件,它们将从右到左而不是默认的从上到下打包。您可以使用 anchor arg 精确控制您希望将小部件放置在小部件分配空间内的位置。另请查看各种 pad 参数。参见 the Pack docs了解详情。

关于python - 为什么我的按钮没有转到 GUI 窗口的最右侧?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51660869/

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