PySimpleGUI的Web浏览器版本。使用Remi作为GUI框架
项目描述
PySimpleGUIWeb
在您的Web浏览器中运行PySimpleGUI!
您的源代码可以在tkinter、Qt、WxPython以及现在在浏览器中运行(多亏了Remi)。
查看repl.it,这是在浏览器中运行您的PySimpleGUI代码的新方法!
PySimpleGUI主要文档
有关如何使用PySimpleGUI API的说明,请参考主要文档。本Readme仅提供有关PySimpleGUI Web端口的特定信息。
什么是PySimpleGUIWeb?
PySimpleGUIWeb使您能够在您的网页浏览器中运行PySimpleGUI程序。它使用一个名为Remi的包来实现这一惊人的功能。
工程预发布版
请注意,您正在运行PySimpleGUIWeb的“预发布”版本。这意味着许多地方都不能正常工作。这也意味着您将有机会享受许多正在每周添加到其中的工作功能。
如果您遇到问题,请访问GitHub网站并提交一个问题。
安装
安装相当简单
pip install pysimpleguiweb
如果不起作用,您可以将文件PySimpleGUIWeb.py复制并粘贴到您的应用程序文件夹中。
使用PySimpleGUIWeb
PySimpleGUI食谱以及GitHub网站上有很多示例。目前,由于0.1.0版本的特性有限,其中很少会工作。它们应该很快就能工作了。
要使用PySimpleGUIWeb,您需要导入它:import PySimpleGUIWeb as sg
从那里,按照食谱和演示程序中的代码示例进行操作。这些程序中唯一的区别是导入语句。其余代码无需修改即可工作。
要求
PySimpleGUIWeb基于Remi项目。在运行PySimpleGUIWeb之前,您需要安装Remi。
pip install remi
您可以在Remi的主页上了解更多关于Remi的信息。
https://github.com/dddomodossola/remi
PySimpleGUIWeb仅在Python 3上运行。不支持旧版Python(2.7)。
什么功能可用
- 文本元素
- 输入文本元素
- 按钮元素
- 下拉框元素
- 复选框元素
- 列表框元素
- 旋转按钮元素(目前仅限于0到100的数字)
- 列元素
- 图片元素
- 多行输入元素
- 多行输出元素
- 输出元素(重定向STDOUT)
- 图形元素(您可以在其上绘制的画布)
- 表格元素(是的,表格!即使有限)
- 窗口背景颜色
- 元素填充
- 带超时读取
- 带超时读取 = 0
- 弹出窗口
- 多个窗口
- 许多元素的更新方法(文本100%完成),其他元素的一些参数正在工作。
在repl.it上运行
这是一项真正独特和令人惊叹的功能。您可以在计算机、手机、平板电脑上的网页浏览器中运行您的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 22-Jan-2019
- 首次发布
- 文本元素
- 输入文本元素
- 按钮元素
- 窗口类
0.2.0 PySimpleGUIWeb 23-Jan-2019
开发第二天带来了字体、大小和颜色...
- 对于所有元素(文本、输入文本、按钮)
- 字体家族
- 字体大小
- 文字颜色
- 背景颜色
- 禁用
- 大小
- 按钮颜色
- 读取超时(零、非零、None/挂起)
- 窗口关闭
- 窗口背景颜色
0.3.0 PySimpleGUIWeb 24-Jan-2019
- 复选框元素
- 下拉框元素
- 列表框元素
- 所有元素的元素内边距
0.4.0 PySimpleGUIWeb 26-Jan-2019
功能元素
- 文本
- 单行文本输入
- 多行输入
- 多行输出
- 列表框
- 组合框
- 复选框
- 滑块
- 旋转器(仅数字...硬编码为0到100)
新功能
- 所有元素的工具提示(这太酷了)
- 输入文本事件
- 文本点击事件
- 列表框选择事件
- 组合框选择事件
- 复选框更新
- 所有元素的禁用参数
- Window.Close 关闭服务器
- 打包操作期间启用异常
- 新的测试框架练习所有元素类型
0.5.0 PySimpleGUIWeb 1-Feb-2019
- 新的默认字体大小。原来是Helvetica 10,现在是Helvetica 15
- InputText 元素单字符事件工作!(终于)
- 列表框简单更新(仅值)
- 列元素!新!
- 列元素实验性对齐设置目前不起作用
- 元素背景颜色现在从容器获取,而不是从顶级窗口获取
- 自动大小文本
- 自动大小按钮文本
0.6.0 PySimpleGUIWeb 3-Feb-2019
- 将Remi端口更改为0,以便始终获得新的空闲端口
0.7.0 PySimpleGUIWeb 3-Feb-2019
- 完成
InputText.Update
方法,以便运行更多演示
0.8.0 PySimpleGUIWeb 8-Feb-2019
- 弹出支持!
- 多窗口支持
0.9.0 PySimpleGUIWeb 14-Feb-2019
- 支持 Window.Hide、Window.UnHide(更好的多窗口支持)
0.9.1 PySimpleGUIWeb
- 由于某些代码在处理多行滚动时出现错误并且程序有时崩溃,因此发布紧急版本
0.10.0 PySimpleGUIWeb 16-Feb-2019
- 完成 Text.Update 方法。现在可以更改
- 文本
- 字体家族 & 大小
- 背景颜色
- 文字颜色
- 可见性
- 完成 Button.Update,但图像除外
- 完成 Spin.Update,但范围除外。此元素仍然相当受限
- 完成 Slider.Update - 可以更新值、可见性、禁用,但不能更新范围
- 图像元素!
- 图像元素的事件
- Image.Update 更改图像
0.11.0 PySimpleGUIWeb 25-Feb-2019
- 滑块 - 可以使用 .Update 方法更新范围
- 新的 Window 参数,允许控制所有 Remi 启动设置
- 新的 Window 参数和默认值
- web_debug=False
- web_ip='0.0.0.0'
- web_port=0
- web_start_broswer=True
- web_update_interval=.00001
- 可以设置 Window 的背景图像(有时可以工作)
- 努力理解“资源”设置,以便可以与文件一起工作
- 我还有很长的路要走
0.12.0 PySimpleGUIWeb 28-Feb-2019
- Combo.Update 现在完全功能
0.13.0 PySimpleGUIWeb 5-Mar-2019
- 向 Window 添加了新参数 - web_multiple_instance
- 像其他 Window web 参数一样,此值在 Remi 启动时传递
- 默认值是 TRUE(我认为之前 Remi 的默认值是 FALSE)
- 这是作为 repl.it 上的评论的结果而制作的
0.15.0 PySimpleGUIWeb 5-Mar-2019
- 将 multiple_instance 参数默认设置为 FALSE(与 TRUE 一起使用时出现严重错误)
0.16.0 13-Mar-2019
- 表格!
- 支持最基本的、基本的表格
- 像交替颜色这样的功能尚未完成
- 启用事件确实有效,因此可以立即获得点击
- 返回的值是一个长度为 1 的列表,包含被点击的单元格的值
- 从弹出窗口中删除了 CloseButton 的使用
0.17.0 14-Mar-2019
- 支持更多表格功能
- 显示行号选项
- 新参数
row_header_text
- 可开启/关闭显示行号
enable_events
文字颜色
- 字体
- 可以使用 Table.SelectedItem 获取点击项的值。可以编码为 window.Element('table').SelectedItem
0.18.0 15-Mar-2019
- 修复导致弹出窗口/二级窗口崩溃的bug的热修复
- 表格获得
starting_row_num
参数
0.19.0 23-Mar-2019 PySimpleGUIWeb
- do_not_clear 默认为 TRUE! 对于输入和多行输入/输出
- 一些类型提示
0.20.0 07-Apr-2019 PySimpleGUIWeb
- 输出元素 WORKS!! 可以将 stdout 重定向到窗口
- 为 Remi MyApp 添加了Idle函数以进行 stdout 重定向(感谢 Davide!!)
- 新快捷键
- I = InputText
- B = Btn = Butt = Button
- 移除多行设置中的临时大小
- 按钮 - 将传入的按钮文本转换为字符串
- 在 Image.Update 中添加了对 base64 图像的支持,但它不起作用!不要使用!
- 将 web_update_interval=.0000001 从 0(YIKES I HOPE SOMETHING DIDN'T BREAK!)更改
0.21.0 10-Apr-2019 PySimpleGUIWeb
- 如果 Window 调用中设置了
disable_close
参数,那么 Remi 在浏览器关闭时不会断开连接。非常适合重新连接。
0.22.0 11-Apr-2019 PySimpleGUIWeb
- 新的 Window 参数布局,因此可以跳过调用 Layout
0.23.0 21-Apr-2019 PySimpleGUIWeb
- 图形元素几乎完成了!
- DrawLine
- DrawRectangle
- DrawPoint
- DrawCicle
- DrawText
- Erase
- Move
- MoveFigure(通过一个增量值)
- RelocateFigure(绘制到一个新的位置)
- Update - 用于更改背景颜色
- 单击事件启用事件工作(目前还没有拖动事件)
- 将 Image 元素更改为使用 SuperImage 类
- Image 元素表现更好?
- Base64 尚未工作
0.23.1 21-Apr-2019
一次性补丁以删除调试打印
0.24.0 PySimpleGUIWeb 23-Apr-2019
- 使 SuperImage 类能够接受 base64 图像
- 现在使用 SvgGroup 来保存所有绘图项
- 圆形现在可以设置轮廓颜色
- DrawImage 仍然不起作用
- Move 不起作用
- 为组添加了 Relocate
- Lazy 按钮 - 上、下、左、右(()
- 创建带有箭头文本的按钮
- Image 元素支持 base64
0.25.0 PySimpleGUIWeb 25-Apr-19
- DrawImage 方法 WORKS!DrawImage 现在接受文件名和 base64 变量
- 修复了 DrawRectangle(没有传递正确的参数)
0.26.0 PySimpleGUIWeb 1-May-2019
- 组合 - 将值转换为字符串列表
- Image.Update 与文件名和 base64 一起工作(但尚未启用大小控制)
- Window - 新参数 - return_key_down_events。通常它是在 Read 调用中返回键上事件
- 返回键盘输入工作!
- 完全关闭了 Remi 日志(可能不是一个好主意。可以改回来)
- 重新排列代码,以便相同的代码用于第一个窗口和后续窗口
- Window disable_close 参数控制用户断开连接后服务器是否继续运行
0.27.0 PySimpleGUIWeb 8-May-2019
- 将默认图标从字符串更改为字节
- 新的文本更新以匹配较新的调用参数
- 添加了 image_subsample、image_size 参数以实现向后兼容。注意 - 未启用
- SuperImage 更改 - 加载 base64 图像和文件
- 修复了 DrawRectangle
- 为 DrawImage 添加了 data 参数
- 添加了 DeleteFigure
- 支持 Tab
- 刚开始
- 可能或可能不起作用
- Window 新类变量 - AllKeysDict
- 包含所有元素和键的字典
- 现在用于 FindElement / Element 调用以快速查找
- 修复了列元素和行不对齐的问题。已更改 tk_row_frame 样式
- 图元
- enable_events功能正常工作
- 拖动事件正常工作
- 点击事件正常工作
0.28.1 PySimpleGUIWeb 15-May-2019
- 菜单
- 是的,窗口顶部的完整菜单栏!
- PLUS,您还可以获得更多控件来设置颜色和字体
- 与菜单键也兼容
- 但是禁用项目不工作
- 正确返回菜单事件
- 列表框
- 正确处理更改列表的Update调用
- 正确返回一个项目列表(即使只有一个)
- 按钮图形!
- 可以指定文件名或图像数据作为源
- 更新参数image_data和image_filename正常工作!
- DrawLine修复。之前没有返回id
- DrawRectangle修复 - 透明填充颜色是默认值。现在正确绘制坐标
- DrawImage似乎与数据和文件都兼容
- TabGroups的enable_events参数
- 框架元素
- 目前的行为类似于列元素,因为没有官方的Remi框架
- 修复获取数据的弹出窗口 - 新的字典返回值搞乱了弹出窗口。需要使用内部键
0.31.0 PySimpleGUIWeb 04-Nov-2019
- PEP8绑定!
- 窗口 - 查找元素的新方法
- 使用window[key]而不是window.FindElement(key)!!
- 窗口 - "调用"现有的窗口对象将调用其读取方法
- 添加了版本号,包括dunder版本和版本都正常工作
- 将一些变量重命名为私有变量,在前面添加_
- 所有元素和窗口添加了METADATA
- 能够"调用"一个元素。效果是调用该元素的更新方法
- 从类中删除了所有delete函数。它们做得不好且不一致
- 输出元素 - 修复了颜色默认值,CurrentValue包含当前显示的所有文本
- 图片元素
- 由Remi团队重写的代码!!!
- 修复了使用OpenCV时的闪烁问题
- 删除了大量未使用的代码
- 在尚未实现的项目处添加了打印语句
- 窗口 - 添加了finalize参数
- 获取屏幕尺寸始终返回(0,0),直到能够解决这个问题
- 使返回值计算更简单
- 两个新的外观和感觉颜色设置 - Material1,Material2
0.32.0 PySimpleGUIWeb 08-Nov-2019
- 修复了输出元素的滚动。现在光标保持在末尾
- 修复了多行输出滚动。正确追加并如果启用则自动滚动
0.33.0 PySimpleGUIWeb 17-Nov-2019
- 添加了MultilineOutput.update方法中的autoscroll参数
- 众多新的外观和感觉主题
- change_look_and_feel调用的模糊名称匹配器 - 字符串不必完全匹配
- 新的preview_all_look_and_feel_themes函数显示所有主题的颜色
0.34.0 PySimpleGUIWeb 24-Dec-2019
主题+
- 新的主题API,用于替换change_look_and_feel调用(有关更多信息,请参阅primary PySimpleGUI端口)
- 新的默认主题是深蓝色3
- 添加了已移植的字符串,因此可以知道这是"PySimpleGUIWeb"端口
- 删除了阻止Mac使用颜色(即使在Web上)的平台特定代码
- 将"TRANSPARENT_BUTTON"字符串更改为使其无效。它被误解了,不应该包含在任何东西中
- 可以更改浏览文件时的文件分隔符,以便文件名可以包含;字符
0.35.0 PySimpleGUIWeb 16-Jan-2020
- 修复了由最新Remi发布导致的滑块崩溃
- 从PySimpleGUI-tk带来了最新的主题代码(文本背景颜色,将所有黑白引用更改为十六进制)
- 新的Graph.change_coordinates方法
- 从Image.update中删除了对未指定图像的检查(因此可以指定可见性而不更改图像,例如)
0.36.0 PySimpleGUIWeb 20-Feb-2020
- 在创建Image元素时允许指定空值
- 修复了Remi 2020.2.5发布后Text元素崩溃的问题
- 尝试使用方法"set_layout_orientation"时将显示崩溃
0.37.0 PySimpleGUIWeb 14-Apr-2020
赶上最新的Remi发布。
- 不再向多行,多行输出更新添加\n
- 这可能会导致您的一些问题。对此表示歉意,但这是正确的事情,以便打印能正常工作
- 多行打印功能
- 多行输出打印功能
- 修复了MultilineOutput无法自动滚动的问题
- 修复了图像更新闪烁问题
- 打印分隔符修复
- 修复了额外的制表符问题
- 将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'。您可以将其拼写出来,但只使用第一个字母。
- 窗口
- 框架
- 列
- 标签页
- 新的main()函数,显示Remi版本和更多信息
设计
作者
Mike B.
许可证
GNU Lesser General Public License (LGPL 3) +
致谢
没有Remi项目,这是不可能的!感谢Remi!!!!
项目详情
下载文件
下载适合您平台文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源代码发行版
构建发行版
PySimpleGUIWeb-0.39.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | bf678836226fc8450c965fb209bfb04809bbf6275139aa5a71808b07a3fa32c5 |
|
MD5 | 9a319dd683ac75d4650d6018b1838f3c |
|
BLAKE2b-256 | 9d7c1b9010df7f244121932962272e8d7df36bc14178dbcb63629a787be14951 |