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

很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:1097524789

  • 要懂后端,比如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许可发布的。开源,免费!

  • 我需要某种网络服务器吗?  不,自带网络服务器。

1

安装

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

pip install remi

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

python setup.py install

2

快速体验

我们来快速看一下,这个简单的Hello world网页。

这里面包含了一个 2个元素:

  • 文本Hello world ;

  • 一个Press me的按钮;

点击这个按钮还会改变Hello world的文本内容,看点一下就变成了Button pressed.

上面这个简单的效果,其实只用了20来行Python代码,都是原生的Python代码,没有用一行HTML .

我们来看一下源码:

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

  • 首先声明一个MyApp类,这个类会继承母框架App里面的功能,可以认为是一个网页画布;

  • 然后在这个画布里面有3个函数:

    init主要是做类的初始化工作;

    main主要对这个画布布局进行设计,包含一个文本和一个按钮。

    on_button_pressed主要是控件的相应,点击触发函数

  • 最后是start来启动这个类,就会生成一个本地的网站链接

3

更多复杂的网页元素

看完上面的设计是不是就觉得跟Python里面大名鼎鼎的tk库很相似啊,上面的只是开胃菜,这个remi还能提供更复杂的gui界面元素。

上面的是一个完整的demo页面,基本上常见的控件元素的都包含了,比如有菜单栏,文本,按钮,单选框,进度栏,下拉框,表格,弹出框,按钮选取文件路径,文件树形结构,日期等几十种控件。

有了这个神器,是不是可以告别Python里面的tk库,也可以省去学习HTML的时间,还等啥,赶紧下载尝鲜一下吧。

再见HTML ! 用纯Python就能写一个漂亮的网页的更多相关文章

  1. 分享:计算机图形学期末作业!!利用WebGL的第三方库three.js写一个简单的网页版“我的世界小游戏”

    这几天一直在忙着期末考试,所以一直没有更新我的博客,今天刚把我的期末作业完成了,心情澎湃,所以晚上不管怎么样,我也要写一篇博客纪念一下我上课都没有听,还是通过强大的度娘完成了我的作业的经历.(当然作业 ...

  2. ctex moderncv版本更新--用latex写一个漂亮的简历

    我的电脑是win7系统32位,ctex版本是v2.9.2.164 full(http://www.ctex.org/CTeXDownload) 一直不太清楚moderncv里面类似\cventry这种 ...

  3. python练习题,写一个方法 传进去列表和预期的value 求出所有变量得取值可能性(例如list为[1,2,3,4,5,6,12,19],value为20,结果是19+1==20只有一种可能性),要求时间复杂度为O(n)

    题目:(来自光荣之路老师)a+b==valuea+b+c=valuea+b+c+d==valuea+b+c+d+...=valuea和b....取值范围都在0-value写一个方法 传进去列表和预期得 ...

  4. 用python 10min手写一个简易的实时内存监控系统

    简易的内存监控系统 本文需要有一定的python和前端基础,如果没基础的,请关注我后续的基础教程系列博客 文章github源地址,还可以看到具体的代码,喜欢请在原链接右上角加个star 腾讯视频链接 ...

  5. [转]用python 10min手写一个简易的实时内存监控系统

    简易的内存监控系统 本文需要有一定的python和前端基础,如果没基础的,请关注我后续的基础教程系列博客 文章github源地址,还可以看到具体的代码,喜欢请在原链接右上角加个star 腾讯视频链接 ...

  6. python+selenium+unnitest写一个完整的登陆的验证

    import unittest from selenium import webdriver from time import sleep class lonInTest (unittest.Test ...

  7. 用python requests库写一个人人网相册爬虫

    担心人人网会黄掉,写个爬虫,把我的相册照片都下载下来.代码如下: # -*- coding: utf-8 -*- import requests import json import os def m ...

  8. python安装及写一个简单的验证码组件(配合node)

    1.安装Python 到官网下载响应系统的版本(这里以windows为例):https://www.python.org/downloads/windows/ 然后就是不断地"下一步&quo ...

  9. 使用python和selenium写一个百度搜索的case

    今天练习的内容主要写了一个小功能,在百度上搜索某词汇,然后实现web上的back功能 代码如下: import unittest from selenium import webdriver from ...

随机推荐

  1. 数据可视化之powerBI入门(三)财务人员必学,使用Powerquery是一种什么体验?

    https://zhuanlan.zhihu.com/p/54700574 财务人员必学,使用Powerquery是一种什么体验? 你和Excel高手的距离只差了一个Power Query!!! 先思 ...

  2. SQLAlchemy(一):SQLAlchemy去连接数据库、ORM介绍、将ORM模型映射到数据库中

    SQLAlchemy01 /SQLAlchemy去连接数据库.ORM介绍.将ORM模型映射到数据库中 目录 SQLAlchemy01 /SQLAlchemy去连接数据库.ORM介绍.将ORM模型映射到 ...

  3. Java常用类-Object类

    一.java.lang.Object类 1.Object类是所有Java类的根父类 2.如果在类的声明中未使用extends关键字指明其父类,则默认父类为java.lang.Object类 3.Obj ...

  4. 【Maven】总结

    导言:生产环境下开发不再是一个项目一个工程,而是每一个模块创建一个工程,而多个模块整合在一起就需要 使用到像 Maven 这样的构建工具. 1 Why? 1.1 真的需要吗? Maven 是干什么用的 ...

  5. 怎样从gitHub上面拉项目

    1.注册 https://gitee.com/oschina 2.拿到代码在gitHub上的地址 3.打开eclipse-->import https://git.oschina.net/cai ...

  6. 题解 CF 1372 B

    题目 传送门 题意 给出 \(n\),输出 \(a\) ,\(b\) (\(0 < a \leq b < n\)),使\(a+b=n\)且 \(\operatorname{lcm}(a,b ...

  7. Goorm永久免费的VPS

    简介 咱在LOC(某知名主机论坛)看到的,当个容器玩玩还是不错的,不过10分钟后会休眠,目前还没有大佬可以解决,可以使用SSH连接,适合折腾,不适合建站等生产环境操作,请注意.https://www. ...

  8. [jvm] -- 类加载器及双亲委派模板篇

    类加载器 JVM 中内置了三个重要的 ClassLoader BootstrapClassLoader(启动类加载器):最顶层的加载类,由C++实现,负责加载 %JAVA_HOME%/lib目录下的j ...

  9. PWN头秃之旅 - 4.Retrun-into-libc(攻防世界-level1)

    Retrun-into-libc,也写作Retrun2libc.libc是Linux下的ANSI C的函数库,包含了C语言最基本的库函数. Retrun2libc的前提是NX开启,但ASLR关闭,NX ...

  10. Js数组对象的属性值升序排序,并指定数组中的某个对象移动到数组的最前面

    需求整理: 本篇文章主要实现的是将一个数组的中对象的属性值通过升序的方式排序,然后能够让程序可以指定对应的数组对象移动到程序的最前面. 数组如下所示: var arrayData= [{name: & ...