当我使用网格时,我使用了屏幕宽度和屏幕高度的一半,但我在tkinter python中遇到了这些错误

2024-06-26 18:01:44 发布

您现在位置:Python中文网/ 问答频道 /正文

谁能解决这个问题

halfwidth = root.winfo_screenwidth()/2 
column1 = halfwidth
loadinglabel = tkinter.Label(cv, text="Loading...", bg="#99D9EA", font=fontStyle) 
loadinglabel.grid(row=200, column=column1)

我得到这个错误

view the error png


Tags: texttkinterrootcvlabelgridbgfont
2条回答

正如错误所说,需要一个integer,但是column1(被赋值为halfwidth)是一个浮点数

您可以使用整型除法//获取halfwidth的整数:

halfwidth = root.winfo_screenwidth()//2

或者使用int()将浮点结果强制转换为整数:

halfwidth = int(root.winfo_screenwidth()/2)

column1 = int(halfwidth)

注意loadinglabel.grid(row=200, column=column1)不能将标签水平放置在中心位置。您可以改用place()

正如@acw1668所说,不能将浮点值与tkinter关键字一起使用。因此,使用//而不是/,或者将最后一个值转换为int(your_value)

相关问题 更多 >