问题/增强
Win10,Raspian
3.7
tkinter 端口,4.20.0
2020 年 6 月 6 日发布 4.20.0
1年_________ Python编程经验
45 年_____ 总体编程经验
是_____ 以前使用过另一个 Python GUI 框架(tkinter、Qt 等)(是/否很好)?
我的应用程序用于树莓派上的 GUI,元素实时更新(异步窗口)
. 它工作正常,但 pysimplegui 中的一些附加功能会很棒:
问题 1 :请提供一个包含可通过 window['xxkey'].update() 更新的文本元素属性的列表。
问题 2 :您的某些示例中出现的 window[f'xxkey'] 中的 _f_ 的目的是什么
增强功能:对于动态更新我很重要,例如文本上的“border_width”。
工作示例:
window['K_BATT_STATE'].update('LOW')
window[f'K_BATT_V'].update(background_color='green')
不工作的例子:
window[f'K_BATT_V'].update(border_width=2)
文档和内置文档字符串准确地告诉您每个元素的更新方法可用的内容。 看一下详细的调用参考。
http://calls.PySimpleGUI.org
如果某些东西不存在,那么您有几个选择。 你可以直接操作底层的Widget,或者开启一个增强请求。,
据我所知
Demo_Column_Elem_Swap_Entire_Window.py
。 f-string 用于通过变量替换子字符串。一份样品给你。
import PySimpleGUI as sg
layout = [[sg.Text('Hello World !', font=('Courier New',20), key='TEXT1')],
[sg.Text('dlroW olleH !', font=('Courier New',20), key='TEXT2')]]
window = sg.Window('Text', layout, finalize=True)
window['TEXT1'].Widget.configure(borderwidth=5, relief='solid')
while True:
event, values = window.read()
if event == sg.WINDOW_CLOSED:
break
window.close()
非常感谢杰森!
当底层“小部件”的功能未通过 PySimpleGUI API 公开时,您可以使用.Widget
成员变量直接访问底层 GUI 框架的小部件。 您会失去从一个框架到另一个框架的可移植性,但这在这些情况下通常不是问题。
很高兴您找到了您满意的解决方案。
嗨杰森,嗨迈克
非常感谢! 这两个答案都有助于在几分钟内结束我的痛苦:-)。
Pysimplegui 是一款出色的产品,拥有令人难以置信的支持!
一旦我的项目可用,我将在我的 git 帐户上发布它。 它是一款适用于所有树莓派 3++ 和 pi 0 型号的不间断高效电源,包括完整的硬件和软件设计。
最有用的评论
据我所知
Demo_Column_Elem_Swap_Entire_Window.py
。 f-string 用于通过变量替换子字符串。一份样品给你。