布局中:
sg.Txt('', size=(12,1), font=('Helvetica', 15), key='Text1', justification='left', text_color='green'),
示例:
parm = 123
window.Element('Text1').Update("%.2f" % parm)
我想了解如何在Text1中编写的变量"parm"前后添加固定文本。例如:电压:123V
谢谢
我认为最简单的方法就是为它创建一个自定义函数。
def custom_update_text(key, parm, symbol="V"):
window[key].Update(f"{str(parm)}{symbol}")
parm = 123
set_voltage('Text1', parm)
一般情况下:
parm = 123
window.Element('Text1').Update(f'text1 {parm} text2')
在您的具体问题中:
parm = 123
window.Element('Text1').Update(f'Voltage: {parm}V')
另一种方式是:
parm = 123
window.Element('Text1').Update('Voltage: '+ str(parm)+'V')
以一种更蟒蛇的方式:
parm = 123
window['Text1'].update('Voltage: {} V'.format(str(parm)))
使用最新的编码约定,假设您正在运行3.6+并可以访问f-string,则可能是这样。
现在,您可以从布局定义中删除一些参数。。。。省略size
将使Text元素能够根据内容进行增长和收缩。对正是自动留下的,所以没有必要这样做。
# In your layout:
sg.Text(font=('Helvetica', 15), key='-TEXT1-', text_color='green'),
# later in your event loop
parm = 123
window['-TEXT1-'].update(f"parm has value: {parm}")