我有一個非常復雜的 GUI,并希望獲得相當大的 tkinter 小部件,這些小部件相對于視窗邊緣具有固定的絕對位置,而不是固定的相對寬度和高度。由于 GUI 包含許多小部件,我不想使用包而是放置。
以下代碼生成一個相對于視窗頂部和左側邊緣具有絕對位置的按鈕。調整視窗大小后,按鈕與視窗右側和底部邊緣之間的邊距會發生變化,但我希望通過類似place(left=50, top=50, right=50, bottom=50).
import tkinter as tk
class App():
def __init__(self):
self.root = tk.Tk()
self.root.geometry("400x400 200 100")
self.button = tk.Button(self.root, text='Button')
self.button.place(x=50, y=50, relwidth=0.8, relheight=0.8, anchor='nw')
self.root.mainloop()
if __name__ == "__main__":
app = App()
uj5u.com熱心網友回復:
您可以組合相對絕對寬度和高度。例如,如果您設定relwidth為 1.0 和width-100,您將獲得所需的效果。
使用 -100 而不是 -50 的原因是小部件從 x 坐標 50 開始。然后將初始寬度設定為父級寬度的 100%(在本例中為 400),這意味著右邊緣將是在 450。我們希望右邊緣在 350,所以我們需要減去 100。
self.button.place(x=50, y=50, relwidth=1, relheight=1, width=-100, height=-100)

轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/398964.html
