我编写了一个代码,该代码在调整窗口大小后会打印窗口的大小,但是无论窗口大小如何,每次函数打印宽度时都打印“ 200”,高度时打印“ 200”。 我该如何解决这个问题?
代码如下:
$.ajax({
type: "POST",
dataType: "text",
data: jsObj,
url: "admin_crud.php",
success: function (result) {
console.log("success", result);
},
error: function (e) {
console.log("Unsuccessful:", e);
}
});
已解决!
答案 0 :(得分:1)
winfo_req_width
和winfo_req_height
方法返回窗口小部件请求的宽度和高度 –本质上,当出现以下情况时,width
和height
参数您创建窗口[1]。根窗口的默认请求宽度和高度为200像素。
设置几何图形时,不会更改请求的窗口宽度和高度,而只会更改实际的宽度和高度。这是因为geometry
命令正在向窗口管理器发出命令,而不是更改窗口小部件本身的配置。
如果要让winfo_reqwidth
和winfo_reqheight
返回300,则需要配置窗口的width
和height
参数(例如:root.configure(width=300, height=300)
)
如果要获取实际宽度,则需要调用winfo_width
和winfo_height
。另外,您应该每次在事件处理程序中调用这些函数,因为如果用户调整窗口大小,该值将更改:
def check(event):
print(root.winfo_width())
print(root.winfo_height())
[1]大多数小部件允许您在创建宽度和高度时指定宽度和高度(例如:Label(root, width=300, height=300)
)。奇怪的是,创建根窗口时无法指定这些参数。但是,您可以在通过configure
方法(例如:root.configure(width=300, height=300)
)创建后更改它们。
答案 1 :(得分:-2)
from tkinter import *
Root=Tk()
Root.title("Window")
lab = Label(Root, text = "Test")
lab.pack()
Root.geometry("300x300")
RWidth=Root.winfo_width()
RHeight=Root.winfo_height()
def check(event):
RWidth = Root.winfo_width()
RHeight = Root.winfo_height()
print(RWidth)
print(RHeight)
Root.bind("<Configure>",check)
mainloop()
您必须在适当的位置写RWidth = Root.winfo_width()RHeight = Root.winfo_height()。