前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Remi-自动转换Python代码为HTML界面的GUI库

Remi-自动转换Python代码为HTML界面的GUI库

作者头像
wangmcn
发布2024-01-22 15:35:33
1410
发布2024-01-22 15:35:33
举报
文章被收录于专栏:AllTests软件测试AllTests软件测试

Remi-自动转换Python代码为HTML界面的GUI库

Remi 使开发人员能够使用 Python 创建独立于平台的 GUI。整个 GUI 在浏览器中呈现。不需要 HTML,Remi 会自动将 Python 代码转换为 HTML。当你的应用程序启动时,它会启动一个可以在你的网络上访问的 Web 服务器。

安装:

代码语言:javascript
复制
pip install remi

2、快速上手

1、示例代码:

代码语言:javascript
复制
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# 公众号:AllTests软件测试

import remi.gui as gui
from remi import start, App

class MyApp(App):
    def __init__(self, *args):
        super(MyApp, self).__init__(*args)

    def main(self):
        container = gui.VBox(width=120, height=100)
        self.lbl = gui.Label('AllTests软件测试')
        self.bt = gui.Button('请点击!')

        # 为按钮的 onclick 事件设置侦听器
        self.bt.onclick.do(self.on_button_pressed)

        # 将一个控件附加到另一个控件,第一个参数是一个字符串键
        container.append(self.lbl)
        container.append(self.bt)

        # 返回根窗口部件
        return container

    # 监听器函数
    def on_button_pressed(self, widget):
        self.lbl.set_text('按钮已按下!')
        self.bt.set_text('感谢关注!')

# 启动 Web 服务器
start(MyApp, address='127.0.0.1', port=8081)

运行脚本,浏览器会自动打开 GUI,或者手动打开浏览器,地址栏中输入 http://127.0.0.1:8081 即可。

如下图:页面显示效果。

如下图:点击后的显示效果。

也可以通过在 start 函数调用中指定 **kwargs 来更改 URL 地址。

在 Android、Linux、Windows 上进行了测试。可用于 Raspberry Pi 上的 Python 脚本开发。它允许从移动设备远程与 Raspberry Pi 进行交互。

2、在 start 调用中自定义可选参数,例如:

代码语言:javascript
复制
start(MyApp, address='127.0.0.1', port=8081, multiple_instance=False, enable_file_cache=True, update_interval=0.1, start_browser=True)

参数:

  • address:网络接口 IP。
  • port:监听端口。
  • multiple_instance: 布尔值,如果为 True,则连接到你的脚本的多个客户端具有不同的 App 实例(由唯一的 cookie 会话标识符标识)。
  • enable_file_cache: 布尔值,如果为 True,则启用资源缓存。
  • update_interval: GUI 更新间隔(秒)。如果为零,则每次更改时都会进行更新。如果为零,则不会调用 App.idle 方法。
  • start_browser:一个布尔值,定义启动时是否自动打开浏览器。
  • standalone:布尔值,指示将应用程序作为具有自己的窗口的标准桌面应用程序运行的位置。如果为 False,则界面将显示在浏览器网页中。

其他参数:

  • username:用于基本 HTTP 身份验证。
  • password:用于基本 HTTP 身份验证。
  • certfile:SSL 证书文件名。
  • keyfile:SSL 密钥文件。
  • ssl_version:身份验证版本(即 ssl.PROTOCOL_TLSv1_2)。如果为 None,则禁用 SSL加密。

3、HTML 属性可访问性

有时需要访问小部件的 HTML 表示,以便操纵 HTML 属性。该库允许轻松访问此信息。

一个简单的例子:你想在小部件中添加一个悬停文本,可以通过 HTML 标签的 title 属性来实现。

代码语言:javascript
复制
widget_instance.attributes['title'] = 'Your title content'

HTML 属性的一种特殊情况是 style。style 属性可以通过以下方式进行更改:

代码语言:javascript
复制
widget_instance.style['color'] = 'red'
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-01-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AllTests软件测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
多因子身份认证
多因子身份认证(Multi-factor Authentication Service,MFAS)的目的是建立一个多层次的防御体系,通过结合两种或三种认证因子(基于记忆的/基于持有物的/基于生物特征的认证因子)验证访问者的身份,使系统或资源更加安全。攻击者即使破解单一因子(如口令、人脸),应用的安全依然可以得到保障。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档