跳转到主要内容

PySimpleGUI的Web浏览器版本。使用Remi作为GUI框架

项目描述

pysimplegui_logo

Downloads

Awesome Meter

Python Version

PyPI Version

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 (81.8 kB 查看哈希值)

上传时间 源代码

构建发行版

PySimpleGUIWeb-0.39.0-py3-none-any.whl (76.1 kB 查看哈希值)

上传时间 Python 3

由以下支持