繁体   English   中英

如何在 pysimplegui 中更新文本

[英]How to update text in pysimplegui

我是 python 的新手,所以我只是在尝试新的 GUI 和其他东西。 我想知道您是否可以使用 pysimplegui 打开一个 window 并有一段文字显示“0”,当您单击一个按钮时,该文字会变为之前的数字 +1。 对于 EG:起初文本显示为“0”,但是当您单击某种按钮时,文本变为“1”。 对不起,如果我对我的问题的解释不好,但我以前没有使用过堆栈溢出。

import PySimpleGUI as sg
num = 0

layout = [
    [sg.Text(num)],
    [sg.Button("hi")]
]

window = sg.Window("the box", layout)

while True:
    event, values = window.read()
    if event == "hi":
        num = num+1
        layout = [
    [sg.Text(num)],
    [sg.Button("hi")]
    ]
    window = sg.Window("the box", layout)

我试过这段代码,但没有用。 正如您可能看到的那样,我对所有这些都很陌生,所以请不要输入复杂/高级代码的答案。

感谢蒂姆给了我一个答案,但我不明白,这是新的(仍然有问题的)代码:

    import PySimpleGUI as sg
num = 0

layout = [
    [sg.Text(key='xxx')],
    [sg.Button("hi")]
]

window = sg.Window("the box", layout)

while True:
    event, values['xxx'] = window.read()
    if event == "hi":
        xxx = num
        num = num + 1

应调用方法window[element_key].update(value=new_value)以使用新值new_value更新元素window[element_key]

不需要新布局和新 window。

import PySimpleGUI as sg

num = 0

layout = [
    [sg.Text(num, key='xxx')],
    [sg.Button("hi")],
]

window = sg.Window("the box", layout)

while True:

    event, values = window.read()

    if event == sg.WIN_CLOSED:
        break
    elif event == "hi":
        num += 1
        window['xxx'].update(num)

window.close()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM