返回顶部
首页 > 资讯 > 后端开发 > Python >Python如何使用Eel和HTML开发桌面应用
  • 121
分享到

Python如何使用Eel和HTML开发桌面应用

Python使用EelPython使用HTMLPython开发桌面应用 2023-01-03 12:01:29 121人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录环境准备效果展示文件结构总结最近感觉python越用越顺手了,干啥都挺好用,可是就桌面应用这一块一直没有找到很好的解决方案,试过了TK、Qt、wx之流的GUI方案后感觉都只能做点

最近感觉python越用越顺手了,干啥都挺好用,可是就桌面应用这一块一直没有找到很好的解决方案,试过了TK、Qt、wx之流的GUI方案后感觉都只能做点简单的界面还行,控件稍微多点就感觉好变态啊,而且界面还是丑。。。

今天闲逛居然发现了Eel这货,类似Electron的效果,可以直接使用html来做界面,程序逻辑部分还是用Python写,js和py可以无缝对接,感觉好像发现了新大陆~

环境准备

  • Python 3.7.3
  • Chrome浏览器(由于Eel是直接调用的Chrome的app启动模式,所以自己很轻量,不过需要提前安装有Chrome)
  • IDE用了vscode
  • 前端直接使用BootCDN上的bootstrapJquery
  • 安装Eel
pip install eel

效果展示

文件结构

.
├── main.py	主入口
├── venv	virtualenv环境
└── WEB		静态文件
    ├── CSS
    ├── favicon.ico
    ├── img
    └── main.html

上面web文件夹用来存放各种静态文件,我是直接用的CDN上的css和js库,比用npm装到本地还省事儿。

这里主要提一下favicon.ico这个文件,以前撸html从来没做过这个图标,在Eel中这个文件将会显示为程序左上角的图标,所以还是挑个好看点的扔进来吧。

main.py

import eel

# 定义html文件所在文件夹名称
eel.init('web')

@eel.expose # 使用装饰器,类似flask里面对路由的定义
def py_fun(a):
    content = '你好!' + a    
    return(content)

# 测试调用js中的函数,同样需要使用回调函数
js_return = eel.js_fun('python传过去的参数')(lambda x: print(x))

# 启动的函数调用放在最后,port=0表示使用随机端口,size=(宽,高)
eel.start('main.html', port=0, size=(600,300))

main.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta Http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Eel演示</title>
    <link href="https://cdn.bootcss.com/twitter-bootstrap/4.3.1/css/bootstrap.min.css" rel="external nofollow"  rel="stylesheet">
    <script type="text/javascript" src="/eel.js"></script>
</head>
<body>
    <div class="container">
        <div class="card mt-4">
            <div class="card-body">
                <h4>js & py互调测试</h4>
                <input type="text" class="fORM-control" id="in">
                <p id="out"></p>
                <button class="btn btn-lg btn-success" onclick="doThis()">调用Python函数</button>
            </div>
        </div>
    </div>


    <script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script>
    <script src="https://cdn.bootcss.com/twitter-bootstrap/4.3.1/js/bootstrap.min.js"></script>

    <script>
        // 调用python中的函数,注意需要在定义前加上async声明异步
        async function doThis(){    
            var par=$("#in").val();
            let content = await eel.py_fun(par)();  //这里用let不用var,调用的python函数后面是两对括号
            $("#out").text(content);
        }

        // 将js中的函数暴露给python,这个貌似不怎么需要用
        eel.expose(js_fun);
        function js_fun(a){
            return('这是调用js中函数返回的结果:' + a);
        }
    </script>
</body>
</html>

总结

总体来说还是比较切中我的点的,能用HTML做界面的话,颜值肯定有保证了,接下来就是继续研究python源代码转EXE或者加密打包的问题了,还有~不知道如果配上vue.js的话会不会飞起来?

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: Python如何使用Eel和HTML开发桌面应用

本文链接: https://lsjlt.com/news/176485.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python如何使用Eel和HTML开发桌面应用
    目录环境准备效果展示文件结构总结最近感觉Python越用越顺手了,干啥都挺好用,可是就桌面应用这一块一直没有找到很好的解决方案,试过了TK、QT、wx之流的GUI方案后感觉都只能做点...
    99+
    2023-01-03
    Python使用Eel Python使用HTML Python开发桌面应用
  • 如何使用Python进行桌面应用开发?
    Python提供了多个库和框架来进行桌面应用开发。以下是使用Python进行桌面应用开发的常用方法之一: PyQt:PyQt是一个用于开发跨平台桌面应用的Python库,它提供了丰富的GUI组件和工具。以下是使用PyQt创建桌面应用的基本...
    99+
    2023-09-08
    python 开发语言
  • Python桌面应用开发之PyQt
    文章目录 引言:桌面应用开发三大框架介绍一、PyQT介绍二、安装三、使用教程(1)基础窗口(2)分区布局窗口(类似于html中div的使用)(3)栅格布局窗口(类似于html中的table)(...
    99+
    2023-08-31
    python 开发语言
  • 如何使用Java进行桌面应用的开发?
    使用Java进行桌面应用的开发可以借助JavaFX或Swing框架。下面为你提供一些基本的步骤: 安装Java开发工具包(JDK):首先,确保你已经安装了Java开发工具包(JDK),并正确配置了环境变量。 选择GUI框架:Java提供...
    99+
    2023-09-10
    java 开发语言
  • 如何使用JavaScript开发跨平台的桌面应用
    这篇文章给大家分享的是有关如何使用JavaScript开发跨平台的桌面应用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。任何可以使用JavaScript来编写的应用,最终会由Ja...
    99+
    2024-04-02
  • Python使用pywebview开发桌面应用的全过程
    目录前言最简单应用上手高阶应用在HTML前端界面中调用Python中的函数打包成单个EXE文件判断页面中pywebview.api对象是否加载成功总结前言 之前用过Eel做的桌面应用...
    99+
    2024-04-02
  • 怎么使用vue和electron开发一个桌面应用
    本文小编为大家详细介绍“怎么使用vue和electron开发一个桌面应用”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么使用vue和electron开发一个桌面应用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧...
    99+
    2023-07-05
  • 如何理解Node.js开发的桌面应用TermKit
    这期内容当中小编将会给大家带来有关如何理解Node.js开发的桌面应用TermKit,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。TermKit介绍【下面内容参考自htt...
    99+
    2024-04-02
  • node.js 和HTML5开发本地桌面应用程序
    HTML5让Web开发人员用纯HTML技术开发富客户端互联网应用或者甚至本地桌面应用成为了可能。HTML5可以将任何普通网站转变成Web应用。HTML5 web 应用不仅具有在桌面浏览器应用中的优势,同时在...
    99+
    2022-06-04
    应用程序 桌面 node
  • Golang开发桌面应用的利与弊
    跨平台桌面开发中使用 go 语言的优势包括:跨平台性、高效性、并发性、强大的标准库,缺点为:gui 限制、原生 ide 支持较弱、资源消耗较高。如考虑开发跨平台文本编辑器,可以使用 go...
    99+
    2024-04-08
    golang 桌面应用 linux python c++ macos 键盘事件 golang开发 标准库
  • Python 中如何使用 Spring 开发 Web 应用?
    Python 是一种高级编程语言,而 Spring 是一种常用的 Java 框架,两者的结合可以实现高效、可靠的 Web 应用程序开发。本文将介绍如何在 Python 中使用 Spring 框架开发 Web 应用程序,包括以下方面: Sp...
    99+
    2023-11-11
    spring linux api
  • 如何在IDE中使用Python和npm来开发Web应用?
    在当今互联网时代,Web开发已成为一项非常重要的技能。而Python和npm是两个非常强大的工具,被广泛用于Web应用程序的开发。在本文中,我们将探讨如何在IDE中使用Python和npm来开发Web应用。 一、Python和npm的介绍 ...
    99+
    2023-10-21
    npm path ide
  • 使用NativePHP在Laravel中开发独特的桌面应用程序
    在Laravel上集成NativePHP,打造独一无二的桌面应用程序随着移动应用的兴起,桌面应用程序似乎已经逐渐淡出人们的视线。然而,对于某些特定领域,特别是企业应用和专业工具,桌面应用程序仍然是必不可少的。在这种情况下,将Web应用程序转...
    99+
    2023-12-20
    桌面应用程序 laravel NativePHP
  • 结合NativePHP和Laravel,开发创新的桌面应用程序
    使用NativePHP与Laravel相融合,开发出创新的桌面应用程序在现代化的软件开发领域,Laravel是一种非常流行的PHP框架,以其简单易用、可扩展和高效的特性受到广泛关注。然而,在一些特定的项目中,我们可能需要同时结合Larave...
    99+
    2023-12-20
    laravel 桌面应用 NativePHP
  • 如何使用 Python 开发文件响应应用程序?
    Python 是一种高级编程语言,具有简单易学、代码清晰、可读性强等特点,被广泛应用于各种领域的开发。本文将介绍如何使用 Python 开发文件响应应用程序,以及如何在 Python 中实现文件读写、复制、移动等操作。 Python 中的文...
    99+
    2023-09-03
    响应 文件 开发技术
  • 如何使用NetBeans IDE开发Python应用程序
    这篇文章将为大家详细讲解有关如何使用NetBeans IDE开发Python应用程序,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。向您介绍在 NetBeans IDE 中使用 Python ...
    99+
    2023-06-17
  • 如何使用vue3+ts+vite+electron搭建桌面应用
    本文小编为大家详细介绍“如何使用vue3+ts+vite+electron搭建桌面应用”,内容详细,步骤清晰,细节处理妥当,希望这篇“如何使用vue3+ts+vite+electron搭建桌面应用”文章能帮助大家解决疑惑,下面跟着小编的思路...
    99+
    2023-07-06
  • 如何使用Python与Laravel开发分布式应用?
    分布式应用是一个复杂的系统,需要高效的通信协议和数据传输,同时还需要处理大量的数据和并发访问。Python和Laravel分别是两个非常强大的编程语言和框架,它们可以帮助我们快速开发高效的分布式应用。本文将介绍如何使用Python和Lara...
    99+
    2023-08-27
    分布式 开发技术 laravel
  • 在Laravel平台上使用NativePHP开发创新的桌面应用程式
    使用NativePHP在Laravel平台上开发创新的桌面应用程序随着技术的发展和人们对用户体验的要求日益增长,创新的桌面应用程序成为了各种行业中的关键需求。而Laravel作为一款优秀的PHP开发框架,以其高效、可扩展性和易用性广受开发者...
    99+
    2023-12-20
    桌面应用程序 laravel NativePHP
  • 如何使用NestJS开发Node.js应用
    这篇文章主要介绍如何使用NestJS开发Node.js应用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!NestJS 最早在 2017.1 月立项,2017.5 发布第一个正式版本,...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作