在tkinter中等同于Qt.setGeometry()

时间:2016-07-21 15:28:36

标签: python tkinter pyqt4 python-3.4 pyqt5

Pyqt setGeometry()在tkinter中的功能是什么?或者有没有这样的功能?我搜索了一下但无法找到,所有示例看起来像tkinter在特定的小部件上工作,我们只能设置宽度 - 高度。

EDIT

  

setGeometry()做了两件事。它将窗口定位在   屏幕并设置其大小。前两个参数是 x y   窗口的位置。第三是宽度,第四是   窗户的高度。

2 个答案:

答案 0 :(得分:1)

tkinter最近的东西可能是place几何管理器。有了它,你可以设置x,y坐标(绝对或相对)和宽度和高度属性(也是绝对或相对)。

例如,要将标签放置在100,100并且宽度和高度为其父级的50%,您可以执行以下操作:

import tkinter as tk
root =  tk.Tk()
label = tk.Label(root, text="Hello, world")
label.place(x=100, y=100, relwidth=.5, relheight=.5)
root.mainloop()

然而,地方很少是正确的选择。 Tkinter非常聪明地为小部件选择合适的尺寸并将它们放置出来。在不知道实际问题的情况下,您尝试解决它很难提出好的建议,但几乎可以肯定,packgrid会更好。

答案 1 :(得分:0)

您也可以通过grid几何经理对@ BryanOakley的答案进行类似的处理:

from tkinter import *
root = Tk()

label = Label(root, bg='cyan')
label.grid(ipadx=100, ipady=50, padx=50, pady=50)

更新:请反馈您认为此答案无用的原因。