所以我試圖labelframe通過使用基本width和width選項來擴大這個范圍。
這是我給定的最小代碼。
from tkinter import *
from tkinter import ttk
app = Tk()
app.resizable(False, False)
mainLayout = ttk.Frame(app, padding=10)
mainLayout.grid()
settings = ttk.Labelframe(mainLayout, text="Settings", padding=10, width=1000)
settings.grid()
ttk.Label(settings, text="Length limit (in seconds)").grid()
ttk.Spinbox(settings, from_=60, to=600, width=4).grid()
app.mainloop()
最小化預覽:

應用中使用:

我想讓這個labelframe更大一點,使內部居中,但我不知道這樣做,任何幫助將不勝感激!
uj5u.com熱心網友回復:
似乎您只想main_frame在應用程式中擁有一個。為簡單起見,我使用.pack選項fill和expand常量tkinter.BOTH在 (x,y) 方向上拉伸小部件并True消耗額外空間。(這是不鼓勵通配符匯入的原因之一,您可能不知道覆寫某些內容,import tkinter as tk而是使用)。也一樣LabelFrame,您可以洗掉其中一個容器,但這取決于您。
在LabelFrame我已經配置了網格并給出了第 0 列應該獲得優先級/權重 1 的額外空間的指令。
此外,我給 Spinbox 增加了一點寬度,改變了視窗的大小,并將建構式與幾何方法分開。
要與 tkinter 中的幾何管理取得聯系,您可以使用說明(例如注釋掉一些)并看看會發生什么。
from tkinter import *
from tkinter import ttk
app = Tk()
app.geometry('500x500')
app.resizable(False, False)
mainLayout = ttk.Frame(app, padding=10)
mainLayout.pack(fill=BOTH,expand=True)
settings = ttk.Labelframe(mainLayout, text="Settings", padding=10, width=1000)
settings.pack(fill=BOTH,expand=True)
settings.columnconfigure(0,weight=1)
my_label = ttk.Label(settings, text="Length limit (in seconds)")
my_label.grid()
my_spinbox = ttk.Spinbox(settings, from_=60, to=600, width=20)
my_spinbox.grid()
app.mainloop()
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/505342.html
標籤:Python 用户界面 tkinter ttk tkinter-text
下一篇:Tkinter:列印(.txt)文本小部件的檔案路徑和(.txt)檔案內容到同一gui中的滾動文本小部件,具有一個檔案對話訪問權限
