1 votes

Fenêtre et liste multilignes

Je veux que mon élément multiligne ressemble à ceci :

Text 1
Text 2
Text 3

Mais cela ressemble à ceci :

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

Mon code :

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

2voto

Jason Yang Points 2917

Référer Problème de parenthèses courbes dans une boîte LIST de PySimpleGui et 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)

1voto

lifezbeautiful Points 482

J'ai réussi à l'obtenir en utilisant Listbox au lieu de Multiline . Le code est le suivant. Veuillez noter que lors de l'utilisation de Listbox, l'élément layout_list n'est pas une liste de listes, mais simplement une liste.

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

La fenêtre de sortie est conforme aux exigences.

enter image description here

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X