![](/img/trans.png)
[英]How do I add elements horizontally instead of vertically in PySimpleGUI?
[英]How do I add a maximum column count and expand windows in PySimpleGUI?
我想要做的是在 Python 中創建一個帶有復選框的 GUI,並讓它打印用戶所做的選擇。 此代碼有效:
import PySimpleGUI as sg
color_list = ['red', 'orange', 'yellow', 'green', 'blue', 'purple']
layout = [
[sg.Column(
[[sg.Checkbox(item, key=item)] for item in color_list],
justification='left',
)],
[sg.Button('Submit')]
]
window = sg.Window('Select Colors You Like', layout)
while True:
event, values = window.read()
if event in (sg.WIN_CLOSED, 'Cancel'):
break
if event == 'Submit':
#create list for checked colors
selected_colors = [item for item in color_list if values[item]]
break
print(selected_colors)
window.close()
我無法弄清楚的問題是雙重的:
如果我的列表很長,就會出現問題——我希望將這個規模擴展到每行 4 或 5 個復選框項目,而不是一行包含所有內容。 我該怎么做呢?
按照我的操作方式進行代碼演示。
import PySimpleGUI as sg
number = 9
column_layout, line = [], []
limit = len(sg.EMOJI_BASE64_HAPPY_LIST) - 1
for i, image in enumerate(sg.EMOJI_BASE64_HAPPY_LIST):
line.append(sg.Image(data=image, size=(64, 64), pad=(1, 1), background_color='#10C000', expand_y=True, key=f'IMAGE {i}'))
if i % number == number-1 or i == limit:
column_layout.append(line)
line = []
layout = [[sg.Column(column_layout)]]
sg.Window('Title', layout).read(close=True)
如何將 window 縮放到 window 的標題? 在這種情況下,由於選擇的長度,不會顯示 window 標題“選擇 Colors 你喜歡”。 我該如何解決這個問題,以便 window 縮放到標題大小?
您可以通過將選項size
添加到 Checkbox 元素來實現,例如size=30
在您的情況下。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.