Python 使用tkinter对齐按钮和标签
我正在制作一个程序,在名为“osu”的游戏的GUI中显示用户数据代码>来练习制作GUI和访问API(以及在数据库和模块之间处理数据,但这在这里并不相关) 我有一个for循环,可以在菜单之外的所有帧的左上角放置一个back按钮。这些按钮位于第0列和第0行 现在我已经开始填充框架的内容,我注意到列的宽度与最宽行的宽度相同,现在的问题是列0中任何使列比按钮宽的内容都会向左移动 本质上,我是在问如何在它的列中证明一个按钮是正确的 此外,它下面的标签也位于该列的中心。我希望无论我对按钮做了什么,我都能对标签做些什么,并将两者都修复 以下是我所看到的:Python 使用tkinter对齐按钮和标签,python,python-3.x,tkinter,Python,Python 3.x,Tkinter,我正在制作一个程序,在名为“osu”的游戏的GUI中显示用户数据来练习制作GUI和访问API(以及在数据库和模块之间处理数据,但这在这里并不相关) 我有一个for循环,可以在菜单之外的所有帧的左上角放置一个back按钮。这些按钮位于第0列和第0行 现在我已经开始填充框架的内容,我注意到列的宽度与最宽行的宽度相同,现在的问题是列0中任何使列比按钮宽的内容都会向左移动 本质上,我是在问如何在它的列中证明一个按钮是正确的 此外,它下面的标签也位于该列的中心。我希望无论我对按钮做了什么,我都能对标签做些
以下是创建后退按钮的代码:
self.backButtons = {}
for frame in self.frames:
if frame != 'Menu':
self.backButtons[frame] = tk.Button(self.frames[frame], command = lambda: self.raiseFrame('Menu'), text = '< - - -', bg='black', fg = 'white', width=20, height=5)
self.backButtons[frame].grid(row = 0, column = 0)
我已经尝试将
justify='left'
和anchor='w'
添加到按钮和标签的创建行,这是通常建议的,但不起作用。可能是我把它添加到了错误的位置或做了错误的操作。将sticky=tk.W
添加到网格(…)
。谢谢!这起作用了。我以前尝试过使用sticky,但在w之前没有使用“tk”。这导致了一个错误。我更喜欢在sticky和其他大多数可以使用tk.
或字符串的地方使用string方法。这样,代码总是与import as tk
和import*
一起使用。因此,您也可以使用sticky='w'
获得相同的结果。将sticky=tk.w
添加到网格(…)
。谢谢!这起作用了。我以前尝试过使用sticky,但在w之前没有使用“tk”。这导致了一个错误。我更喜欢在sticky和其他大多数可以使用tk.
或字符串的地方使用string方法。这样,代码总是与import as tk
和import*
一起使用。因此,您也可以使用sticky='w'
获得相同的结果。
self.tableColumns = {
'Username':self.handle,
'Performace Points':'{0}pp'.format(round(float(self.stats['pp_raw']),2)),
'Global Rank':'#{0}'.format(self.stats['pp_rank']),
'Country Rank':'#{0}'.format(self.stats['pp_country_rank']),
'Accuracy':'{0}%'.format(round(float(self.stats['accuracy']),2),'%'),
'Highest PP Play':'{0}pp'.format(round(float(self.topPlay),2)),
'Playcount':self.stats['playcount'],
'Time Since Joined':secondConversion(self.stats['join_date'])}
index = 0
for i in self.tableColumns:
self.label = tk.Label(self.statFrame, text = ('{0}: {1}'.format(i, self.tableColumns[i])), fg = 'white', bg = 'gray', font=("Verdana", 16))
self.label.grid(row = index+3,column = 0)
index += 1