在 Web 浏览器中运行的 PySimpleGUI 端口。使用 Remi 作为 GUI 框架
项目描述
PySimpleGUIWeb
PySimpleGUI 在您的网络浏览器中运行!
您的源代码可以在 tkinter、Qt、WxPython 上运行,现在可以在浏览器中运行(感谢 Remi)
查看repl.it,这是在浏览器中运行 PySimpleGUI 代码的新方法!
主要 PySimpleGUI 文档
要获取有关如何使用 PySimpleGUI 的 API 的说明,请参考主文档。本自述文件提供特定于PySimpleGUI 的 Web 端口的信息。
什么是 PySimpleGUIWeb?
PySimpleGUIWeb 使您能够在 Web 浏览器中运行 PySimpleGUI 程序。它利用一个名为 Remi 的包来实现这个惊人的包。
工程预发布
请注意,您正在运行 PySimpleGUIWeb 的“预发布”版本。这意味着 sh*t 在很多地方都不起作用。这也意味着您可以享受许多有效且每周都会添加的内容。
遇到麻烦?访问GitHub 站点并记录问题。
安装
安装非常简单:
pip install pysimpleguiweb
如果这不起作用,您可以将文件 PySimpleGUIWeb.py 复制并粘贴到您的应用程序文件夹中。
使用 PySimpleGUIWeb
PySimpleGUI Cookbook 和 GitHub 站点上有很多示例。由于 0.1.0 版本的功能数量有限,目前很少有人会工作。在他们开始工作之前应该不会太久。
要使用 PySimpleGUIWeb,您需要导入它:
import PySimpleGUIWeb as sg
从那里遵循 Cookbook 和演示程序中的代码示例。这些程序的唯一区别是 import 语句。其余代码无需修改即可工作。
要求
PySimpleGUIWeb 基于 Remi 项目。你需要在运行 PySimpleGUIWeb 之前安装 Remi:
pip install remi
您可以在其主页上了解有关 Remi 的更多信息。
https://github.com/dddomodossola/remi
PySimpleGUIWeb 仅在 Python 3 上运行。不支持旧版 Python (2.7)。
什么有效
- 文本元素
- 输入文本元素
- 按钮元素
- 组合框元素
- 复选框元素
- 列表框元素
- 微调器元素(排序......现在只有数字 0 到 100)
- 列元素
- 图像元素
- 多行输入元素
- 多行输出元件
- 输出元素(重定向 STDOUT)
- 图形元素(您要在其上绘画的画布)
- 表格元素(是的,表格!即使有限)
- 窗口背景颜色
- 元素填充
- 超时读取
- 读取超时 = 0
- 弹出窗口
- 多个窗口
- 许多元素的更新方法(文本 100% 完成),其他元素的一些参数正常工作。
使用 repl.it 在线运行
这是真正独特和令人惊奇的事情。您可以在计算机、手机、平板电脑上的 Web 浏览器中运行 PySimpleGUI 代码,而无需在该计算机上安装 Python。通过 repl.it 和 Remi 的魔力,您可以在任何可以运行浏览器的地方运行 PySimpleGUI 代码。不仅如此,您还可以将这些程序嵌入到网页中。事实上,这个 Markdown 文档中嵌入了这些程序之一。
这是插入 iframe 的位置。在某些情况下(例如在 GitHub 上),您可能看不到该页面。
这是您的示例程序:
<iframe height="400px" width="100%" src="https://repl.it/@PySimpleGUI/PySimpleGUIWeb-Demos?lite=true" scrolling="no" frameborder="no" allowtransparency="true" allowfullscreen="true" sandbox="allow-forms allow-pointer-lock allow-popups allow-same-origin allow-scripts allow-modals"></iframe>发行说明:
0.1.0 PySimpleGUIWeb 2019 年 1 月 22 日
- 初始发行
- 文本元素
- 输入文本元素
- 按钮元素
- 窗口类
0.2.0 PySimpleGUIWeb 2019 年 1 月 23 日
开发的第 2 天带来了字体、大小和颜色……
- 对于所有元素(文本、输入文本、按钮):
- 字体系列
- 字体大小
- 文字颜色
- 背景颜色
- 禁用
- 尺寸
- 按钮颜色
- 读取超时(零、非零、无/挂起)
- 窗口关闭
- 窗口背景颜色
0.3.0 PySimpleGUIWeb 2019 年 1 月 24 日
- 复选框元素
- 组合框元素
- 列表框元素
- 所有元素的元素填充
0.4.0 PySimpleGUIWeb 2019 年 1 月 26 日
功能元件
- 文本
- 单行文本输入
- 多行输入
- 多行输出
- 列表框
- 组合框
- 复选框
- 滑块
- 微调器(仅限数字...硬编码为 0 到 100)
新的功能
- 所有元素的工具提示(太酷了)
- 输入文本事件
- 文本点击事件
- 列表框选定事件
- 组合框选定事件
- 复选框更新
- 禁用所有元素的参数
- Window.Close 关闭服务器
- 在打包操作期间启用异常
- 新的测试工具练习所有元素类型
0.5.0 PySimpleGUIWeb 2019 年 2 月 1 日
- 新的默认字体大小。以前是 Helvetica 10,现在是 Helvetica 15
- InputText 元素单字符事件有效!(最后)
- 列表框简单更新(仅限值)
- 列元素!新的!
- 列元素实验性调整设置不起作用
- 元素背景颜色现在从容器中拾取,而不是顶级窗口
- 自动调整文本大小
- 自动调整按钮文本
0.6.0 PySimpleGUIWeb 2019 年 2 月 3 日
- 将 Remi 端口更改为 0,因此将始终获得一个新的空闲端口
0.7.0 PySimpleGUIWeb 2019 年 2 月 3 日
- 完成
InputText.Update的方法,以便可以运行更多的演示
0.8.0 PySimpleGUIWeb 2019 年 2 月 8 日
- 弹出支持!
- 支持多个窗口
0.9.0 PySimpleGUIWeb 2019 年 2 月 14 日
- 支持 Window.Hide、Window.UnHide(更好的多窗口支持)
0.9.1 PySimpleGUIWeb
- 由于某些代码执行的多行滚动不正确并且有时程序崩溃而紧急释放
0.10.0 PySimpleGUIWeb 2019 年 2 月 16 日
- 完成 Text.Update 方法。现在可以改变:
- 文本
- 字体系列和大小
- 背景颜色
- 文字颜色
- 能见度
- 已完成 Button.Update(图像除外)
- 已完成 Spin.Update,但范围除外。这个元素仍然很残缺
- Completed Slider.Update - 可以更新值、可见性、禁用,但不能更新范围
- 图像元素!
- 图像元素的事件
- Image.Update 更改图像
0.11.0 PySimpleGUIWeb 2019 年 2 月 25 日
- 滑块 - 可以使用 .Update 方法更新范围
- 允许控制所有 Remi 启动设置的新窗口参数
- 新窗口参数和默认值:
- web_debug=假
- web_ip='0.0.0.0'
- web_port=0
- web_start_broswer=真
- web_update_interval=.00001
- 可以设置窗口背景图像(有时可以使用)
- 努力理解“资源”设置以便可以处理文件
- 我有路要走
0.12.0 PySimpleGUIWeb 2019 年 2 月 28 日
- Combo.Update 现在功能齐全
0.13.0 PySimpleGUIWeb 2019 年 3 月 5 日
- 向窗口添加了新参数 - web_multiple_instance
- 与其他 Window web 参数一样,此值在启动时传递给 Remi
- 默认值为 TRUE(以前我认为 Remi 的默认值为 False)
- 由于对 repl.it 的评论而做出的。
0.15.0 PySimpleGUIWeb 2019 年 3 月 5 日
- 默认情况下将 multiple_instance 参数设为 FALSE(与 True 严重混淆)
0.16.0 2019 年 3 月 13 日
- 桌子!
- 支持最低限度的基本表
- 诸如交替颜色之类的事情没有完成
- 启用事件确实有效,因此您可以立即获得点击
- 返回的值是 1ength 1 的列表,包含被单击的单元格的值
- 从弹出窗口中删除了对 CloseButton 的使用
0.17.0 2019 年 3 月 14 日
- 支持更多表格功能
- 显示行号的选项
- 新参数
row_header_text - 可以打开/关闭显示行号
enable_eventstext_color- 字体
- 可以使用 Table.SelectedItem 获取单击的项目的值。可以编码为 window.Element(' table ').SelectedItem
0.18.0 2019 年 3 月 15 日
- 导致弹出窗口/辅助窗口崩溃的错误的修补程序
- 表获取
starting_row_num参数
0.19.0 2019 年 3 月 23 日 PySimpleGUIWeb
- do_not_clear 默认为 TRUE!用于输入和多线输入/输出
- 一些类型提示
0.20.0 2019 年 4 月 7 日 PySimpleGUIWeb
- 输出元件工作!可以将标准输出重新路由到窗口
- 为 Remi MyApp 添加了空闲功能,用于标准输出重新路由(感谢 Davide !!)
- 新快捷方式:
- 我 = 输入文本
- B = Btn = 屁股 = 按钮
- 删除了多行设置中的临时大小
- Button - 将传入的按钮文本转换为字符串
- 在 Image.Update 中添加了对 base64 图像的支持,但它不起作用!不要使用!
- 将 web_update_interval=.0000001 从 0 更改为
0.21.0 2019 年 4 月 10 日 PySimpleGUIWeb
- 如果
disable_close在 Window 调用中设置了参数,那么当浏览器关闭时 Remi 不会断开连接。非常适合重新连接。
0.22.0 2019 年 4 月 11 日 PySimpleGUIWeb
- 新窗口参数布局,因此可以跳过调用布局
0.23.0 2019 年 4 月 21 日 PySimpleGUIWeb
- 图形元素几乎完成了!
- 画线
- 绘制矩形
- 绘图点
- 画圈
- 绘图文本
- 擦除
- 移动
- MoveFigure(按增量)
- RelocateFigure(绘制到新位置)
- 更新 - 用于背景颜色更改
- 启用事件适用于单击(还没有拖动)
- 将 Image 元素更改为使用 SuperImage 类
- 图像元素效果更好?
- Base64 还没有工作
0.23.1 2019 年 4 月 21 日
一次性补丁删除调试打印
0.24.0 PySimpleGUIWeb 2019 年 4 月 23 日
- 启用 SuperImage 类以接受 base64 图像
- 现在使用 SvgGroup 来保存所有绘图项
- 圆圈现在可以设置轮廓颜色
- DrawImage 仍然无法正常工作
- 移动不起作用
- 为组添加了重新定位
- 惰性按钮 - 上、下、左、右(()
- 创建带有箭头的按钮作为文本
- 图像元素的 Base64 支持
0.25.0 PySimpleGUIWeb 19 年 4 月 25 日
- DrawImage 方法有效!DrawImage 现在同时接受文件名和 base64 变量
- 修复 DrawRectangle(没有通过正确的参数)
0.26.0 PySimpleGUIWeb 2019 年 5 月 1 日
- Combo - 将值转换为字符串列表
- Image.Update 正在使用文件名和 base64(但还没有大小控制)
- 窗口 - 新参数 - return_key_down_events。通常它是从读取调用返回的按键事件
- 返回键盘输入有效!
- 完全关闭 Remi Logging(可能是个坏主意。可以改回来)
- 重新排列代码,以便将相同的代码用于第一个窗口和后续窗口
- Window disable_close 参数控制用户断开连接后服务器是否继续运行
0.27.0 PySimpleGUIWeb 2019 年 5 月 8 日
- 将默认图标从字符串更改为字节
- 新文本更新以匹配较新的调用参数
- 添加了 image_subsample、image_size 参数以向后兼容。注意 - 未启用
- SuperImage 更改 - 加载 base64 图像和文件
- 修复 DrawRectangle
- 向 DrawImage 添加了数据参数
- 添加了删除图
- 标签支持
- 刚刚开始
- 可能工作也可能不工作
- 窗口新类变量 - AllKeysDict
- 包含所有元素和键的字典
- 现在由 FindElement / Element 调用用于快速查找
- 修复未对齐的列元素和行。更改了 tk_row_frame 样式
- 图形元素
- enable_events 有效
- 拖动事件有效
- 点击事件有效
0.28.1 PySimpleGUIWeb 2019 年 5 月 15 日
- 菜单
- 是的,窗口顶部的完整菜单栏!
- 另外,您可以获得更多控件来设置颜色和字体
- 也适用于菜单键
- 但是禁用的项目不起作用
- 正确返回菜单事件
- 列表框
- 正确处理更改列表的更新调用
- 正确返回项目列表(即使只有 1 个)
- 按钮图形!
- 可以指定文件名或图像数据作为源
- 更新参数 image_data 和 image_filename 工作!
- 在 DrawLine 中修复。没有返回 id
- DrawRectangle 修复 - 默认为透明填充颜色。现在正确绘制坐标
- DrawImage 似乎适用于数据和文件
- TabGroups 的 enable_events 参数
- 框架元素
- 由于没有官方的 Remi Frame,现在的行为类似于 Column 元素
- 修复获取数据的弹出窗口 - 新的字典返回值搞砸了弹出窗口。需要在内部使用密钥
0.31.0 PySimpleGUIWeb 2019 年 11 月 4 日
- PEP8 绑定!
- Window - 寻找元素的新方法
- 使用 window[key] 而不是 window.FindElement(key)!!
- Winow - “调用”现有窗口对象将调用其读取方法
- 版本号添加了dunder版本和版本工作
- 通过在前面添加 _ 将一些变量重命名为私有变量
- METADATA 添加到所有元素和窗口
- 能够“调用”一个元素。效果是调用那个元素的更新方法
- 删除了类中的所有删除功能。做得不好而且不一致
- 输出元素 - 修复颜色默认值,CurrentValue 包含当前显示的所有文本
- 图像元素
- 重写由 Remi 团队完成!!!
- 修复了与 OpenCV 一起使用时的闪烁问题
- 删除了很多未使用的代码
- 添加了尚未实施项目的打印
- Window - 添加了 finalize 参数
- 获取屏幕尺寸现在总是返回 (0,0) 直到可以弄清楚
- 使返回值计算更容易
- 两种新的外观颜色设置 - Material1、Material2
0.32.0 PySimpleGUIWeb 2019 年 11 月 8 日
- 修复了输出元素滚动。现在光标停留在末尾
- 修复多行输出滚动。如果启用,则正确附加并自动滚动
0.33.0 PySimpleGUIWeb 2019 年 11 月 17 日
- 向 MultilineOutput.update 方法添加了 autoscroll 参数
- 大量新的外观和感觉主题
- change_loo_and_feel 调用的模糊名称匹配器 - 字符串现在不必完美匹配
- 新的 preview_all_look_and_feel_themes 函数显示主题的所有颜色
0.34.0 PySimpleGUIWeb 2019 年 12 月 24 日
主题 +
- 替换 change_look_and_feel 调用的新主题 API(有关更多信息,请参阅主要 PySimpleGUI 端口)
- 新的默认主题是深蓝 3
- 添加了移植的字符串,因此可以判断这是“PySimpleGUIWeb”端口
- 删除了禁止 Mac 使用颜色的平台特定代码,即使对于网络也是如此
- 更改了“TRANSPARENT_BUTTON”字符串以使其无效。它被误解了,不应该被包含在任何东西中
- 能够将文件分隔符更改为文件名以浏览文件;在他们中
0.35.0 PySimpleGUIWeb 2020 年 1 月 16 日
- 修复了由最新的 Remi 版本引起的 Slider 崩溃
- 从 PySimpleGUI-tk 带来最新的主题代码(文本背景颜色,将所有黑白 refs 更改为十六进制)
- 新的 Graph.change_coordinates 方法
- 删除了对 Image.update 中未指定图像的检查(例如,在不更改图像的情况下指定可见性)
0.36.0 PySimpleGUIWeb 2020 年 2 月 20 日
- 创建 Image 元素时允许指定空值
- 修复了 Remi 2020.2.5 发布后文本元素崩溃的问题
- 崩溃将显示尝试使用方法“set_layout_orientation”
0.37.0 PySimpleGUIWeb 2020 年 4 月 14 日
赶上最新的 Remi 版本。
- 不再向 MULTILINE、MULTILINE_OUTPUT 更新添加 \n
- 这可能会导致您的一些问题。对此感到抱歉,但这样做是正确的,这样打印才能正常工作
- 多行打印能力
- MultilineOutput.print 能力
- 修复 MultilineOutput 不自动滚动
- 修复图像更新闪烁
- 打印 sep char 已修复
- 修复额外的选项卡
- 将 SvgGroup 替换为 SvgSubcontainer(需要 Remi 2020.3.10)
- 非常感谢 Remi 的创作者 Davide(为此以及许多其他版本)
0.38.0 PySimpleGUIWeb 2020 年 5 月 6 日
- 添加常量
- WIN_CLOSED 和 WINDOW_CLOSED
- EVENT_TIMEOUT 和 TIMEOUT_EVENT
0.39.0 PySimpleGUIWeb 2020 年 6 月 6 日
窗口和容器中的元素对齐!终于有了统一的理由
- 框架支持,但还没有任何标签……只做一个框架……嘿,这是一个开始
- 添加了 element_jutification 以便其中的所有元素都将相应地进行调整。
- 仅对于 PySimpleGUIQt,默认值为“float”,不设置任何内容。结果,按钮将横跨窗口
- 有效值为“l”、“r”、“c”。您可以拼写出来,但只使用第一个字母。
- 窗户
- 框架
- 柱子
- 标签
- 显示 Remi 版本和更多信息的新 main()
设计
作者
迈克 B。
执照
GNU 小通用公共许可证 (LGPL 3) +
致谢
如果没有 Remi 项目,这是不可能的!谢谢雷米!!!!