PythonTkinter:网格属性的最右边的列和最下面的行值?

PythonTkinter:网格属性的最右边的列和最下面的行值?,python,user-interface,button,tkinter,grid,Python,User Interface,Button,Tkinter,Grid,我想创建一个按钮,并将其显示在帧的最右侧。但是,我不知道在grid属性中为column参数输入什么值 我知道在pack中,我们可以使用side并将其分配到RIGHT,但我想使用grid来实现这一点 非常感谢你 编辑: 我的代码: from tkinter import * root = Tk() root.title("FoodU") root.geometry("1600x2560+0+0") #statusbar BEGIN statusbar = Frame(root, bg="

我想创建一个按钮,并将其显示在帧的最右侧。但是,我不知道在grid属性中为column参数输入什么值

我知道在pack中,我们可以使用side并将其分配到RIGHT,但我想使用grid来实现这一点

非常感谢你

编辑:

我的代码:

from tkinter import *


root = Tk()
root.title("FoodU")
root.geometry("1600x2560+0+0")


#statusbar BEGIN

statusbar = Frame(root, bg="black")
statusbar.pack(fill=X, side=TOP)


row, column = root.grid_size()
profile = Button(statusbar, text="Profile", fg="white", highlightbackground="black")
profile.grid(row=row, column=column, sticky="e", padx=5, pady=5, ipadx=4, ipady=3)


#statusbar END


root.mainloop()
输出:


您可以将其网格化到窗口的最后一列,并使用粘滞:

button.grid(root, row=0, column=n, sticky='e')

Sticky需要一个它必须坚持的基本方向的字符串,其中“e”是东向的,因此右侧的网格大小将比已经网格化的网格大小高一倍。大致如下:

import tkinter as tk

win = tk.Tk()
tk.Button(text='Hello').grid(row=1, column=1)
row, column = win.grid_size()
tk.Entry().grid(row=row, column=column)
win.mainloop()
@编辑

如果您想对右边按钮内的文本进行对齐,可以使用Buttontext='Click Me!',justify='right'。gridrow=row,column=column您可以在以下位置查看按钮的其他此类方法:

如果要在调整窗口大小时使按钮与屏幕右侧一起移动,则需要使按钮粘在该侧,并使列/行具有一个权重,使其与窗口一起调整大小:

import tkinter as tk

win = tk.Tk()
tk.Button(text='Hello', justify='right').grid(row=1, column=1)
row, column = win.grid_size()
tk.Button(text='Bottom corner').grid(row=row, column=column, sticky='nsew') # you could just use 'e' to make it stick to the right side
win.columnconfigure(column, weight=1) # this sets the column to resize with the window
win.mainloop()

如果这有助于解决您的问题,我希望您单击绿色复选标记:

为什么一列不比所有其他列大?@BryanOakley但是如果没有其他元素呢?您应该键入代码或复制/粘贴,而不是发布图片。这样我可以从StackOverflow复制/粘贴它。为此,您可以将每行缩进4个空格以标记为代码,或将每行缩进8个空格以标记为代码,将每行缩进12个空格以标记为2个缩进,等等。@PriyaParashar:如果没有其他元素,则使用第0行第0列。您可以使用sticky选项将小部件粘贴到分配的空间的右下角。不过,如果您实际上只有一个小部件,我会使用place来完成这个特定任务。问题是,几乎没有适用于所有情况的好的一般规则。正确的工具在很大程度上取决于屏幕上的其他小部件,以及它们之间应该如何相互关联。非常感谢您的回答!但是,当按钮是唯一存在的元素时,我如何将其向右对齐?@PriyaParashar,我不明白。按钮应该已经在屏幕的右侧了,不是吗?您是在询问如何对齐按钮内的文本吗?非常感谢您的编辑!这确实让事情变得更清楚了。是的,我想把整个按钮向右对齐,而不仅仅是文本。我使用了你提到的代码,但仍然不起作用。我已经编辑了我的代码并输出到我的问题中。@PTH这应该是正确的答案。