Python用20行代码就能实现漂亮的网页界面?你确定不来看看

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

要懂后端,比如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的时间,还等啥,赶紧下载尝鲜一下吧。

对Python感兴趣或者是正在学习的小伙伴,可以点赞关注收藏支持一波哦, 持续更新中

原文链接:https://blog.csdn.net/NNNJ9355/article/details/107319582

程序员必备GUI框架

GUI(图形用户界面),顾名思义就是用图形的方式,来显示计算机操作的界面,更加方便且直观。

一个好看又好用的GUI,可以大大提高大家的开发效率。

今天,我就给大家介绍多个好用的GUI库,每一个都值得学习。

  1. Swing

Swing 是一个为Java设计的GUI工具包。Swing是JAVA基础类的一部分。

Swing包括了图形用户界面(GUI)器件如:文本框,按钮,分隔窗格和表。

Swing提供许多比AWT更好的屏幕显示元素。它们用纯Java写成,所以同Java本身一样可以跨平台运行,这一点不像AWT。它们是JFC的一部分。它们支持可更换的面板和主题(各种操作系统默认的特有主题),然而不是真的使用原生平台提供的设备,而是仅仅在表面上模仿它们。这意味着你可以在任意平台上使用JAVA支持的任意面板。轻量级组件的缺点则是执行速度较慢,优点就是可以在所有平台上采用统一的行为。

(目前基本上没人使用了,淘汰了,如果需要使用 java 开发客户端程序,可以使用 JavaFx)

这里推荐一个的使用Swing开发的项目:

MooInfo

项目地址:https://github.com/rememberber/MooInfo

非常好看

2.JavaFx

JavaFX 是一个开源的下一代客户端应用平台,适用于基于Java构建的桌面、移动端和嵌入式系统。 它是许多个人和公司的共同努力的成果,目的是为开发丰富的客户端应用提供一个现代、高效、功能齐全的工具包。

项目文档(官方):https://docs.oracle.com/javase/8/javase-clienttechnologies.htm

项目文档(中文):https://openjfx.cn/

这里推荐几款开源的使用 JavaFx 开发的项目:

1.JFoenix

JavaFX Material Design Library(组件库)

项目地址:https://github.com/sshahine/JFoenix

2.xJavaFxTool基于JavaFx搭建的实用小工具集合,方便开发过程中的代码编写与调试,想学习javaFx的同学可以参考参考。其中包括文件复制、Cron表达式生成器、编码转换、加密解密、Time转换、路径转换、二维码生成工具、、正则表达式生成工具、网址缩短、转义字符、字符串转换、Mq调试工具、Http调试工具、json格式化编辑工具、图标生成工具、Redis连接工具、网页源码下载工具、切换Hosts工具、Ftp服务器、Cmd调试工具、Ftp/Ftps/Sftp客户端调试工具、Pdf转换工具、文件列表生成器、图片压缩工具、图片转码工具、Kafka调试工具、Email群发工具、颜色代码转换工具、工具、脚本引擎调试、文件重命名、Json转换、语音转换、Socket调试、图片解析、微信小程序…

项目地址:https://github.com/864381832/xJavaFxTool

  1. PyQt

PyQt 是 Qt 框架的Python语言实现,由Riverbank Computing开发,是最强大的GUI库之一。PyQt 提供了一个设计良好的窗口控件集合,每一个PyQt控件都对应一个Qt控件,因此PyQt的API接口与Qt的API接口很接近,但PyQt不再使用QMake系统和Q_OBJECT宏。

各种各样的PyQt测试和例子:https://github.com/PyQt5/PyQt

这里推荐几款开源的使用PyQt开发的项目:

FeelUOwn

项目地址:https://github.com/feeluown/FeelUOwn

Xiami For Linux Project

项目地址:https://github.com/harry159821/XiamiForLinuxProject

2. wxPython

wxPython 是一个跨平台 GUI 的 Python 库,可轻松创建功能强大稳定的GUI,毕竟是用C++编写的~ 目前,支持Windows,Mac OS X,macOS 和 Linux。使用wxPython创建的应用程序(GUI)在所有平台上都具有原生外观。

文档地址:https://www.wxpython.org/

macOS

windows

1.egui

egui是Rust的一个简单、快速、高度可移植的即时模式GUI库。egui既可以在本地运行也可以在web网页中运行

项目地址:https://github.com/emilk/egui

项目文档:https://github.com/Re-Ch-Love/egui-doc-cn/blob/main/README_zh-hans.md

演示地址:https://www.egui.rs/#demo

1.fyne

Fyne是一个用Go编写的易于使用的UI工具包和应用程序API。它旨在构建在桌面和移动设备上使用单个代码库运行的应用程序。

项目地址:https://github.com/gabdube/native-windows-gui

文档地址:https://developer.fyne.io/

C/C++ 相关的 GUI 库暂时不推荐了,本人也在学习。等过段时间会写相关教程。

用 Python 和 Pywebview 打造现代可视化 GUI 界面

作为一名程序员,您是否厌倦了枯燥乏味的命令行界面?想让您的应用程序更现代化、更吸引用户吗?那么 Pywebview 就是您的最佳选择!它可以让您轻松用 Python 打造功能强大的可视化 GUI 界面,并支持多种操作系统,包括 Windows、macOS 和 Linux。

Pywebview 是一个开源的 Python 库,它可以将 HTML、CSS 和 JavaScript 集成到您的 Python 应用程序中,从而让您创建现代、响应式、可交互的图形用户界面。它利用 Chromium 浏览器内核,拥有强大的功能和兼容性,可以满足各种应用程序的需求。

使用 pip 安装 Pywebview 非常简单:

创建一个名为index.html 的文件,它将作为您的应用程序的主界面:

运行代码,您就可以看到一个简单的浏览器窗口,上面显示着您在 index.html 中编写的 HTML 内容。

Pywebview 提供了丰富的功能,可以满足不同用户的需求:

  • 支持多种浏览器: 它可以利用 Windows、macOS 和 Linux 操作系统上默认安装的浏览器,例如 Edge、Safari 和 Chrome。
  • JavaScript 交互: 您可以使用 Python 调用 JavaScript 代码,并接收 JavaScript 代码的返回结果。
  • 多种窗口类型: 您可以创建多个窗口,并控制它们的透明度、大小、位置和标题等属性。
  • 网页调试: 您可以使用浏览器的开发者工具来调试您的 HTML、CSS 和 JavaScript 代码。
  • 自定义图标和标题: 您可以为您的应用程序设置自定义的图标和标题。

Pywebview 在多个领域都有广泛的应用:

  • 桌面应用程序: 创建各种类型的桌面应用程序,例如聊天应用程序、游戏和图像编辑器等。
  • 网页应用程序: 将 HTML、CSS 和 JavaScript 打包成独立的可执行文件,方便用户安装和使用。
  • 数据可视化: 将数据可视化结果展示在交互式界面中,便于用户理解和分析。
  • 自动化任务: 使用网页界面控制和自动化其他应用程序和脚本。

Pywebview 是一个简单易用、功能强大的 Python GUI 框架,可以帮助您创建现代、响应式、可交互的图形用户界面。无论是初学者还是经验丰富的开发者,Pywebview 都可以帮助您轻松实现您的想法。

如果您有关于 Pywebview 的任何问题或使用经验,欢迎在评论区留下您的想法和见解。您的参与将帮助更多开发者使用 Pywebview 创造出更棒的应用程序!

本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com

点赞 0
收藏 0

文章为作者独立观点不代本网立场,未经允许不得转载。