当前位置: 首页 > 科技观察

再见HTML!纯Python也能写出漂亮的网页

时间:2023-03-15 13:37:37 科技观察

大家好,今天给大家带来一个炫酷的神器!我们在写网站或者网页界面的时候,需要学习很多东西,这对小白来说是非常困难的!比如我想做一个简单的网页交互:需要了解后端,比如Python的Django或者Flask,或者Java的SpringBoot。需要了解前端,现在叫大前端(因为很复杂),比如前端框架Vue/React,然后是页面美化框架Bootstrap,还有html的三驾马车、CSS和Javascript。我的天,听起来头都大了!其实我就是给老板做一个简单的交互页面,我只会Python。有没有简单的方法来做到这一点。在Github上浏览时,发现了一个很酷的神器,名字叫remi,目前已经获得了2300个赞。star不多,但是这个库被评选为2018年十大明星库之一,号称是独立的GUI库,最神奇的是这个库不到100K。很神奇吗?一起来体验一下特点:和其他GUI库有什么不同?Kivy、PyQT和PyGObject都需要来自主机操作系统的本机代码,这意味着安装或编译大型依赖项。Remi只需要一个网络浏览器来显示您的GUI。我需要了解HTML吗?不,只是用Python编写代码。它是开源的吗?当然!Remi在Apache许可下发布。开源,免费!我需要某种网络服务器吗?不,带上你自己的网络服务器。1.安装如何安装,因为是Python库,直接使用pippipinstallremi如果没有网络,或者服务器没有连接外网,可以离线安装。下载这个包,然后使用install安装pythonsetup.pyinstall2。快速体验让我们快速浏览一下这个简单的Helloworld网页。它包含两个元素:文本Helloworld;按下我的按钮;点击这个按钮也会改变Helloworld的文字内容,点击后会变成Buttonpressed。上面这个简单的效果其实只用了20行Python代码,全部是原生Python代码,没有一行HTML。我们看一下源码:整个代码的结构还是很清晰的:首先声明一个MyApp类,它会继承父框架App的功能,可以认为是一个网页画布;然后这个canvas里面有3个函数:init主要做类的初始化工作;main主要设计这个canvas的布局,包括一个文本和一个按钮。on_button_pressed主要是控件的响应,点击触发函数最后开始启动这个类,会生成一个本地网站链接3.更复杂的网页元素看完上面的设计,是不是觉得跟Python中著名的tk库?很相似,以上只是开胃菜,本次remi还可以提供更复杂的gui界面元素。以上是一个完整的demo页面,基本包括了常用的控件元素,如菜单栏、文本、按钮、单选框、进度条、下拉框、表格、弹出框、选择文件路径的按钮、文件几十个树结构和日期等控件。有了这款神器,是不是可以告别Python中的tk库,省下学习HTML的时间了,还等什么,赶快下载试试吧。