IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> python --pywebview、flaskwebgui发桌面程序 -> 正文阅读

[Python知识库]python --pywebview、flaskwebgui发桌面程序

pywebview

装包

pip install pywebview

官文

https://pywebview.flowrl.com/guide/interdomain.html#invoke-python-from-javascript

案例

https://pywebview.flowrl.com/examples/fullscreen.html

实操

import webview
from flask import Flask, render_template, jsonify, request
import json
from functools import wraps

app = Flask(__name__, template_folder='./static', static_folder='./static', static_url_path='')


def verify_token(function):
    @wraps(function)
    def wrapper(*args, **kwargs):
        data = json.loads(request.data)
        token = data.get('token')
        if token == webview.token:
            return function(*args, **kwargs)
        else:
            raise Exception('Authentication error')

    return wrapper


@app.route('/')
def index():
    return render_template('index.html')


@app.route('/backstage/api/login/', methods=['POST'])
def login():
    print(request.data)
    data = json.loads(request.data)
    user = data.get('username')
    pwd = data.get('password')

    if user != 'test' or pwd != 'test':
        print({'code': '4013', 'msg': '用户名或密码错误'}, jsonify({'code': '4013', 'msg': '用户名或密码错误'}))
        return jsonify({'code': '4013', 'msg': '用户名或密码错误'})

    groups = {"首页": [], "业务菜单": ["3D模型", "画图展示", "业务3"], "系统设置": ["用户管理", "系统日志"]}
    roles = {"首页": ["读"], "3D模型": ["读", "写"], "业务2": ["读", "写"], "业务3": ["读", "写"],
             "用户管理": ["读", "写"], "系统日志": ["读", "写"]}

    return jsonify({'code': '0', 'data': {'groups': groups, 'roles': roles}, 'msg': 'ok'})


@app.route('/get_usr_info', methods=['GET'])
@verify_token
def get_usr_info():
    return jsonify({'code': '0', 'data': []})


if __name__ == '__main__':
    chinese = {
        'global.quitConfirmation': u'确定关闭?',
    }

    window = webview.create_window(
        title='云收单',
        url=app,
        width=900,
        height=620,
        # frameless=True,
        # easy_drag=True,
        # hidden=True,
        transparent=True,
    )

    webview.start(localization=chinese, debug=True, http_server=True)

flaskwebgui

装包: pip install flaskwebgui
github:

https://github.com/ClimenteA/flaskwebgui/tree/master/examples/

实例:

from flask import Flask
from flask import render_template
from flaskwebgui import FlaskUI

app = Flask(__name__, static_folder='./static', template_folder='./static', static_url_path='')
ui = FlaskUI(app, width=500, height=500)


@app.route("/")
def hello():
    return render_template('index.html')


@app.route("/home", methods=['GET'])
def home():
    return render_template('index.html')


if __name__ == "__main__":
    ui.run()

结构:

在这里插入图片描述

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-03-10 22:27:16  更:2022-03-10 22:28:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 21:43:42-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码