Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python PySimpleGui中的文本未更新_Python_Pysimplegui - Fatal编程技术网

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作为答案!!!谢谢你的帮助!!!