pysimplegui - 如何在 PySimpleGUI 中将代码与窗口集成
问题描述
首先让我先说一下我一直在阅读 PySimpleGUI 文档页面并在网络上进行了高低搜索,但我似乎无法找到有关如何实际获取窗口来执行操作的教程。我了解了 GUI 基础知识,但现在我不知道如何在窗口中插入代码,所以它确实可以做一些事情。
我正在尝试创建一个基本的距离转换器(从英里到公里)。布局有效,功能也有效,但我不知道如何整合两者。
import PySimpleGUI as sg
layout = [[sg.Text("Enter miles"), sg.InputText(key='-IN-')],
[sg.Text('Kilometers ->'),sg.Text(key='-OUT-')],
[sg.Button('Calculate'),sg.Button('Exit')]]
window = sg.Window('Miles to Kilometers',layout)
while True:
event,values = window.read()
if event == 'Exit' or event == sg.WIN_CLOSED:
break
elif event == 'Calculate':
window['-OUT-'].update(converter(values['-IN-']))
def converter():
miles = int(input("Enter miles: "))
res = miles * 1.609344
print(round(res,2))
converter()
window.close()
解决方案
我注意到的几件事...
(1) '-OUT-' 文本没有空间显示。通过使用“\t\t\t”创建一个空间,我允许输出一个打印位置。
(2) 按下“计算”时,需要调用该函数。你会看到我已经改变了converter()函数来接收用户在'-IN-'框中输入的值。
import PySimpleGUI as sg
def converter(miles):
res = miles * 1.609344
return res
layout = [[sg.Text("Enter miles"), sg.InputText(key='-IN-')],
[sg.Text('Kilometers ->'),sg.Text("\t\t\t", key='-OUT-')],
[sg.Button('Calculate'),sg.Button('Exit')]]
window = sg.Window('Miles to Kilometers',layout)
while True:
event,values = window.read()
if event == 'Exit' or event == sg.WIN_CLOSED:
break
if event == 'Calculate':
res = converter(float(values['-IN-']))
window['-OUT-'].update(value=round(res,2))
window.close()
这应该给你你正在寻找的东西。
推荐阅读
- php - 如何使用 CK Finder 3 自动将图像保存在不同的文件夹中
- react-testing-library - 来自 getByLabelText 的打字稿 HTMLInputElement
- entity-framework-core - EF Core - 以编程方式创建数据库
- java - Spring JPA - “java.lang.IllegalArgumentException:投影类型必须是接口!” (使用本机查询)
- python - 在python中用隐式欧拉求解PDE - 输出不正确
- c++ - 如果我们已经手动解锁了 unique_lock 是否会在销毁时解锁?
- ios - 连接airpods时音频未切换到扬声器
- c# - 将表值绑定到组合框时出错 - wpf
- postgresql-9.3 - 如何将mysql枚举转换为postgres
- java - Maven 编译器未将 getter/setter(使用 Lombok 生成)添加到构建 jar 文件