Python 无法重复获取TKinter窗口尺寸

Python 无法重复获取TKinter窗口尺寸,python,tkinter,Python,Tkinter,最近,我尝试创建一个函数,在这个函数中,TKinter GUI上的所有项目都将调整自身大小以适应屏幕,但我似乎不知道如何做到这一点。我确实试过: from tkinter import * root = Tk() root.geometry("710x300") def dimloop(): root.update() screenwidth = root.winfo_screenwidth() print(root.winfo_screenwid

最近,我尝试创建一个函数,在这个函数中,TKinter GUI上的所有项目都将调整自身大小以适应屏幕,但我似乎不知道如何做到这一点。我确实试过:

from tkinter import *

root = Tk()
root.geometry("710x300")

def dimloop():
    root.update()
    screenwidth = root.winfo_screenwidth()
    print(root.winfo_screenwidth())
    button.config(width=round(screenwidth/7.1))
    root.after(10, dimloop)

button = Button(root, text = 'Hello', width=100)
button.place(x=0, y=0)

dimloop()
root.mainloop()

但这并不奏效。有人知道怎么做吗?

函数返回物理屏幕的宽度。这不会改变


如果需要根窗口的宽度,应使用
root.winfo\u width()
。在循环中这样做没有任何意义,您可以获得屏幕的宽度,然后使用
几何体
方法设置窗口的宽度和高度,强制其为特定大小。

您所说的“那不起作用”到底是什么意思?问题是什么?通过打印屏幕宽度变量进行测试后,它不断重复打印2560。可能是因为您的屏幕宽度是2560像素,并且没有改变?不,我可以不断更改其大小,但它仍然保持不变。感谢您的回答,并解决了我的问题。虽然我可以锁定尺寸,但我希望用户能够调整窗口大小。谢谢+1,接受。