相关文章推荐

如何让PySimpleGUI的默认文本在窗口打开时输出?

2 人关注

我正在使用 PySimpleGUI 来创建一个文本输出框。

在打开程序时,我希望在按下任何按钮之前,输出端显示一些默认文本。

我怎样才能让这种情况发生?替换代码1】在等待一个按钮的按下。替换代码2】没有出现强迫文本到窗口的情况。

import PySimpleGUI as sg
initialString = "I want this text to display on window opening."
def gui2():
    layout = [
              [sg.Output(size=(90,20), background_color='black', text_color='white')],
              [sg.Button('Do things'), sg.Button('Exit')]
    window = sg.Window("Funny Title", layout)
    #window.read()  #I need to press a button before the text will display
    #window.refresh() #doesn't refresh the output
    print(initialString)
    #window.refresh() #doesn't refresh the output
    while True:
        event, values = window.read() 
        if event in (sg.WIN_CLOSED, 'Exit'):
            break
        elif event == 'Do things':
            print("You pressed the button")
    window.close() 
gui2()
    
python
user-interface
pysimplegui
masher
masher
发布于 2021-04-24
1 个回答
masher
masher
发布于 2021-04-24
已采纳
0 人赞同

当然,答案在我发帖后5分钟就被找到了。

window = sg.Window("Funny Title", layout, finalize = True)

这样就固定了窗口,随后的print语句就按要求出现在输出中。

根据下面的评论,我也把布局从sg.Outline改为sg.Multiline。

              sg.Multiline(size=(90,20), 
                           background_color='black', 
 
推荐文章