再见HTML ! 用纯Python就能写一个漂亮的网页



我们在写一个网站或者一个网页界面的时候,需要学习很多东西,对小白来说很困难!比如我要做一个简单的网页交互:

  • 要懂后端,比如Python里面的Django或者Flask,或者是Java里面的SpringBoot
  • 要懂前端,现在都叫大前端了(因为很复杂),比如前端的框架Vue/React, 然后页面的美化框架Bootstrap ,还有html ,csss 和Javascript 三驾马车

天啊,听听头都大呢!其实我就给老板做一个简单的交互的页面,而且我只会Python ,有没有很简单的办法可以做到呢。

今天小编在Github上逛的时候,找到一个非常酷的神器,名字叫remi ,目前收获了2300个赞。

在这里插入图片描述
star并不是很多,但是这个库可是选入2018年的十大明星库,号称是一个独立的GUI库,而且最牛逼的就是这个库竟然小于 100K,是否很神奇呢,我们一起来体验看一下特性:

  • 跟其他GUI库区别? Kivy,PyQT和PyGObject都需要主机操作系统的本机代码,这意味着安装或编译大型依赖项。Remi只需要一个Web浏览器即可显示您的GUI。
  • 我需要懂HTML吗? 不,只需要使用Python进行编码。
  • 它是开源的吗? 当然!Remi是根据Apache许可发布的。开源,免费!
  • 我需要某种网络服务器吗? 不,自带网络服务器。

安装

如何安装呢,因为是Python 库,直接用pip 即可

pip install remi

如果是没有网络的,或者服务器跟外网不通的,可以离线安装。下载这个包,然后用install 安装

python setup.py install

快速体验

我们来快速看一下,这个简单的Hello world网页。
在这里插入图片描述
这里面包含了一个 2个元素:

  • 文本Hello world ;
  • 一个Press me的按钮;

点击这个按钮还会改变Hello world的文本内容,看点一下就变成了Button pressed.
在这里插入图片描述
上面这个简单的效果,其实只用了20来行Python代码,都是原生的Python代码,没有用一行HTML .

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('Hello world!')
        self.bt = gui.Button('Press me!')

        # setting the listener for the onclick event of the button
        self.bt.onclick.do(self.on_button_pressed)

        # appending a widget to another, the first argument is a string key
        container.append(self.lbl)
        container.append(self.bt)

        # returning the root widget
        return container

    # listener function
    def on_button_pressed(self, widget):
        self.lbl.set_text('Button pressed!')
        self.bt.set_text('Hi!')

# starts the web server
start(MyApp)

整个的代码的结构层次还很清晰的:

  • 首先声明一个MyApp类,这个类会继承母框架App里面的功能,可以认为是一个网页画布;
  • 然后在这个画布里面有3个函数:
  • init主要是做类的初始化工作;
  • main主要对这个画布布局进行设计,包含一个文本和一个按钮。
  • on_button_pressed主要是控件的相应,点击触发函数
  • 最后是start来启动这个类,就会生成一个本地的网站链接
    在这里插入图片描述

更多复杂的网页元素

看完上面的设计是不是就觉得跟Python里面大名鼎鼎的tk库很相似啊,上面的只是开胃菜,这个remi还能提供更复杂的gui界面元素。
在这里插入图片描述
上面的是一个完整的demo页面,基本上常见的控件元素的都包含了,比如有菜单栏,文本,按钮,单选框,进度栏,下拉框,表格,弹出框,按钮选取文件路径,文件树形结构,日期等几十种控件。
在这里插入图片描述
有了这个神器,是不是可以告别Python里面的tk库,也可以省去学习HTML的时间,还等啥,赶紧下载尝鲜一下吧。

链接:
GitHub-remi

  • 3
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值