Python PySimpleGui中的文本未更新
在我的代码中,我试图制作一个计算器。因此,有一个Python PySimpleGui中的文本未更新,python,pysimplegui,Python,Pysimplegui,在我的代码中,我试图制作一个计算器。因此,有一个1按钮,按下该按钮时,通过在文本中添加1来更新问题:文本。因此,当我按下1时,文本将从Question:转换为Question:1。但它并没有更新。我以前也遇到过这个问题。我认为当我执行.update时,它只会更新值,直到其字母数与文本的字母数相同为止。如果它有两个字母,我尝试.update('123'),它将只更新到12。有没有办法绕过这个问题 将PySimpleGUI导入为sg 布局=[ [sg.Text('Question:',key='-I
1
按钮,按下该按钮时,通过在文本中添加1
来更新问题:
文本。因此,当我按下1
时,文本将从Question:
转换为Question:1
。但它并没有更新。我以前也遇到过这个问题。我认为当我执行.update
时,它只会更新值,直到其字母数与文本的字母数相同为止。如果它有两个字母,我尝试.update('123')
,它将只更新到12
。有没有办法绕过这个问题
将PySimpleGUI导入为sg
布局=[
[sg.Text('Question:',key='-IN-'),
[sg.Text('答案将显示在这里,'键='-OUT-')],
[sg.按钮('1')、sg.按钮('2')、sg.按钮('3')],
[sg.按钮('4')、sg.按钮('5')、sg.按钮('6')],
[sg.按钮('7')、sg.按钮('8')、sg.按钮('9')],
[sg.按钮('Enter')、sg.按钮('Exit')]
]
窗口=sg.窗口('计算器',布局)
尽管如此:
事件,值=window.read()
如果事件为无或事件==“退出”:
打破
elif事件==“1”:
bleh=window['-IN-'].get()
teh=f'{bleh}1'
窗口['-IN-'].更新(值=teh)
window.close()
如上所述,例如
将PySimpleGUI导入为sg
布局=[
[sg.InputText('Question:',readonly=True,key='-IN-'),
[sg.Text('答案将显示在这里,'键='-OUT-')],
[sg.按钮('1')、sg.按钮('2')、sg.按钮('3')],
[sg.按钮('4')、sg.按钮('5')、sg.按钮('6')],
[sg.按钮('7')、sg.按钮('8')、sg.按钮('9')],
[sg.按钮('Enter')、sg.按钮('Exit')]
]
窗口=sg.窗口('计算器',布局)
输入=窗口['-IN-']
尽管如此:
事件,值=window.read()
如果事件为无或事件==“退出”:
打破
“1234567890”中的elif事件:
bleh=window['-IN-'].get()
teh=f'{bleh}{event}'
input.update(值=teh)
input.Widget.xview(“end”)#如果文本太长而无法容纳元素,则查看end
window.close()
我是PySimpleGui的初学者,所以它是由文本元素的长度引起的,如果选项大小
未定义,它将是初始字符串的长度。所以您进行了更新,但显示时间太长,无法在短文本元素上显示。建议您使用sg.InputText
和选项readonly=True
@JasonYang-tysm作为答案!!!谢谢你的帮助!!!