多行 window 和列表
Multiline window and list
我希望我的多行元素看起来像这样:
Text 1
Text 2
Text 3
但它看起来像这样:
{{Text 1}} {{Text 2}} {{Text 3}}
我的代码:
import PySimpleGUI as sg
layout_list = [
['Text 1'],
['Text 2'],
['Text 3']
]
layout = [
[sg.Multiline(layout_list, s=(60, 5), disabled=True, key='key-multiline')]
]
window = sg.Window('Help!', layout=layout, margins=(1, 1))
while True:
event, values = window.read()
window.read()
我设法使用 Listbox
而不是 Multiline
来获取它。代码如下所示。请注意使用列表框时的区别,layout_list
不是列表的列表,而只是一个列表。
import PySimpleGUI as sg # Part 1 - The import
layout_list = [
'Text 1',
'Text 2',
'Text 3'
]
layout = [
[sg.Listbox( values= layout_list, s=(60, 5), disabled=True, key='key-multiline')]
]
window = sg.Window('Help!', layout=layout, margins=(1, 1))
while True:
event, values = window.read()
window.read()
输出window符合要求。
参考
import PySimpleGUI as sg
layout_list = [
['Text 1'],
['Text 2'],
['Text 3'],
]
text = '\n'.join(item[0] for item in layout_list) # Convert layout_list into string
layout = [
[sg.Multiline(text, s=(60, 5), disabled=True, key='key-multiline')]
]
sg.Window('Help!', layout=layout, margins=(1, 1)).read(close=True)
我希望我的多行元素看起来像这样:
Text 1
Text 2
Text 3
但它看起来像这样:
{{Text 1}} {{Text 2}} {{Text 3}}
我的代码:
import PySimpleGUI as sg
layout_list = [
['Text 1'],
['Text 2'],
['Text 3']
]
layout = [
[sg.Multiline(layout_list, s=(60, 5), disabled=True, key='key-multiline')]
]
window = sg.Window('Help!', layout=layout, margins=(1, 1))
while True:
event, values = window.read()
window.read()
我设法使用 Listbox
而不是 Multiline
来获取它。代码如下所示。请注意使用列表框时的区别,layout_list
不是列表的列表,而只是一个列表。
import PySimpleGUI as sg # Part 1 - The import
layout_list = [
'Text 1',
'Text 2',
'Text 3'
]
layout = [
[sg.Listbox( values= layout_list, s=(60, 5), disabled=True, key='key-multiline')]
]
window = sg.Window('Help!', layout=layout, margins=(1, 1))
while True:
event, values = window.read()
window.read()
输出window符合要求。
参考
import PySimpleGUI as sg
layout_list = [
['Text 1'],
['Text 2'],
['Text 3'],
]
text = '\n'.join(item[0] for item in layout_list) # Convert layout_list into string
layout = [
[sg.Multiline(text, s=(60, 5), disabled=True, key='key-multiline')]
]
sg.Window('Help!', layout=layout, margins=(1, 1)).read(close=True)