我正在嘗試創建一個可滾動的框架,其中一個網格以不同的權重管理其中的小部件。但是,columnconfigure似乎不會影響可滾動框架內的小部件。在這個代碼片段中,我使用的是 Pmw.ScrollableFrame,但我也嘗試過tkscrolledframe這里的代碼大綱:https ://blog.teclado.com/tkinter-scrollable-frames/,但它們似乎都有同樣的問題。
from Pmw import ScrolledFrame
root = Tk()
root.state("zoomed")
Grid.columnconfigure(root, 0, weight = 4)
Grid.columnconfigure(root, 1, weight = 5)
Grid.rowconfigure(root, 0, weight = 1)
Grid.rowconfigure(root, 1, weight = 15)
Grid.rowconfigure(root, 2, weight = 3)
sf = ScrolledFrame(root)
Grid.columnconfigure(sf.interior(), index = 0, weight = 1)
Grid.columnconfigure(sf.interior(), index = 1, weight = 100)
for i in range(100):
Button(sf.interior(), text = "button 1").grid(row = i, column = 0, sticky = 'nsew')
Button(sf.interior(), text = "button 2").grid(row = i, column = 1, sticky = 'nsew')
sf.grid(row = 1, column = 0, sticky = 'nsew')
Button(root, text = "button 2").grid(row = 1, column = 1, sticky = 'nsew')
Button(root, text = "button 3").grid(row = 2, column = 0, sticky = 'nsew', columnspan = 2)
Button(root, text = "button 4").grid(row = 0, column = 1, sticky = 'nsew')
root.mainloop()
如果我根本無法在這些型別的框架上使用 columnconfigure,我還能用什么來控制可滾動框架內的小部件的大小,而無需對大小進行硬編碼?任何幫助將不勝感激!
編輯添加:我打算用輸入框、復選框和選項選單的組合填充可滾動框架。
uj5u.com熱心網友回復:
問題不在于columnconfigure. 問題是內部框架沒有擴展以填充視窗。
Pmw.ScrolledFrame 類有一個記錄在案的屬性 horizflex,可以將其設定為expand填充視窗。
horizflex 指定可滾動內部框架的寬度應如何相對于剪輯框架調整大小。如果“固定”,則內部框架設定為自然寬度,這是框架的子小部件所要求的。如果' expand '并且內部框架的請求寬度小于剪輯框架的寬度,則內部框架擴展以填充剪輯框架。如果' shrink '并且內框的請求寬度大于剪裁框的寬度,則內框收縮到剪裁框的寬度。如果是“彈性”,則內框的寬度始終設定為剪裁框的寬度。默認值為“固定”。
聽起來您應該將其設定為expand
sf = ScrolledFrame(root, horizflex="expand")
uj5u.com熱心網友回復:
您可以通過更改值來使用帶有 aTextbox或 a的 scrolltext 的內置函式。Frame如果您想放置其他內容,您可能需要使用insert,delete和StringVariable().
import tkinter
root = Tk()
scrollbar = Scrollbar(root)
scrollbar.pack(side=RIGHT, fill=Y)
textbox = Text(root)
textbox.pack()
for i in range(100):
textbox.insert(END, f"Scrolling Text Label {i}\n")
textbox.config(yscrollcommand=scrollbar.set)
scrollbar.config(command=textbox.yview)
root.mainloop()
編輯:如果你想在滾動條上檢測,因為你正在使用PMW你可以使用binding代表scrolled這個場合的系統。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/442985.html
