Saya ingin elemen multiline saya terlihat seperti ini:

Text 1
Text 2
Text 3

Tapi terlihat seperti ini:

{{Text 1}} {{Text 2}} {{Text 3}}

Kode saya:

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()
2
Eskimo868 21 September 2021, 23:32

2 jawaban

Jawaban Terbaik

Lihat Masalah Kurung Keriting di Kotak DAFTAR PySimpleGui dan Python 3

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)
2
Jason Yang 22 September 2021, 05:04

Saya berhasil mendapatkannya menggunakan Listbox alih-alih Multiline. Kodenya seperti yang ditunjukkan di bawah ini. Harap perhatikan perbedaannya bahwa saat menggunakan Listbox, layout_list bukan daftar daftar, melainkan hanya daftar.

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()

Jendela keluaran sesuai kebutuhan.

enter image description here

1
lifezbeautiful 21 September 2021, 21:24