簡體   English   中英

Python Tkinter-包含可擴展小部件的可滾動畫布

[英]Python Tkinter - Scrollable canvas containing expandable widgets

我正在使用Python Tkinter,並且想在框架或畫布中放置可變數量的文本框小部件。 文本框在框架的垂直下方排列,因此第一個位於頂部,第二個位於下面,依此類推。等等。我可以將所有按鈕,列表框等小部件放在GUI的“左部分”中,而“右側部分”將僅包含文本框小部件。 我希望當主窗口最大化時,文本框小部件可以水平擴展,但是由於這些小部件的數量是可變的,因此包含文本框的“右側部分”也需要能夠垂直滾動才能查看全部。

當前,我正在使用Canvas.create_window將可變數量的文本框添加到畫布,並且雖然可以滾動畫布以查看所有文本框,但是在調整窗口大小時它們不會水平擴展。 我有一個備用GUI,在“右側”使用了一個框架,該框架允許小部件水平展開,但是如果包裝太多,我將無法滾動框架以查看其他文本框,因為我無法滾動酒吧綁在一個框架。

有什么辦法可以解決這個折衷方案嗎?

解決方案非常簡單:綁定到畫布的<Configure>事件-每當調整畫布小部件的大小時,這都會導致調用回調。 然后,您只需要獲取畫布的寬度,並使用它來迭代地調整所有嵌入式窗口的大小。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM