PyQt5 接入 web 登录页

本文介绍了如何使用 PyQt5 将 web 登录页面接入到桌面应用中,通过 QWebEngineView 嵌入网页并利用 JavaScript 获取 cookies,实现登录验证。在获取到有效 cookie 后,应用会切换到主窗口。详细步骤包括原理、流程及代码示例。

PyQt5 接入 web 登录页

概述

一个桌面软件一般都会有登录后的操作, 用 PyQt 写一套登录页面工作量还不小,出了处理登录逻辑外,还要关心验证码,错误提示,跳转到注册页面等等. 如果已经有了一个 web 版的登录页,那我们又何必再写一套呢?

原理

  • 用 QWebEngineView 嵌入登录页;
  • 利用 QWebEngineView 的 runJavaScript 方法获取 cookies;
  • 利用子线程扫描指定 cookie,一旦获取到,则切换到主窗口.

流程

graph TD; 启动-->id0(显示登录窗口,隐藏主窗口); id0-->id1{子线程定时检测指定cookie}; id1-->|否|id1; id1-->|是|id2(显示主窗口,隐藏登录窗口); id2-->id3(需要重新登录); id3-->id0;

代码

main.py

import sys
import time
from threading import Thread
from PyQt5 import QtWidgets
from PyQt5.QtCore import pyqtSignal
from PyQt5.QtWidgets import QApplication, QMainWindow, QAction

import context
from content import MainContent
from login import Login


class Main(QMain
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值