花都高端网站建设wordpress 动态解析

web/2025/10/5 21:13:17/文章来源:
花都高端网站建设,wordpress 动态解析,装修公司加盟品牌,网线插座接法文章目录1. 多线程1.1 QTimer1.2 QThread界面卡住例子分离UI和工作线程1.3 事件处理2. 网页交互显示本地 html显示 html 代码调用 JavaScriptJavaScript 调用 PyQt代码learn from 《PyQt5 快速开发与实战》 https://doc.qt.io/qtforpython/index.html https://www.riverbankcom… 文章目录1. 多线程1.1 QTimer1.2 QThread界面卡住例子分离UI和工作线程1.3 事件处理2. 网页交互显示本地 html显示 html 代码调用 JavaScriptJavaScript 调用 PyQt代码learn from 《PyQt5 快速开发与实战》 https://doc.qt.io/qtforpython/index.html https://www.riverbankcomputing.com/static/Docs/PyQt5 1. 多线程 1.1 QTimer 周期性的发出timeout信号 # _*_ coding: utf-8 _*_ # Time : 2022/5/29 23:42 # Author : Michael # File : qtimer_demo.py # desc :from PyQt5.QtCore import QTimer, QDateTime from PyQt5.QtWidgets import QWidget, QListWidget, QLabel, QPushButton, QGridLayout, QApplicationclass QtimerDemo(QWidget):def __init__(self):super(QtimerDemo, self).__init__()self.setWindowTitle(QTimer Demo)self.listFile QListWidget()self.label QLabel(显示当前时间)self.startBtn QPushButton(开始)self.stopBtn QPushButton(停止)layout QGridLayout()self.timer QTimer()self.timer.timeout.connect(self.showTime)layout.addWidget(self.label, 0, 0, 1, 2)layout.addWidget(self.startBtn, 1, 0, 1, 2)layout.addWidget(self.stopBtn, 2, 0, 1, 2)self.startBtn.clicked.connect(self.startTimer)self.stopBtn.clicked.connect(self.stopTimer)self.setLayout(layout)def startTimer(self):self.timer.start(1000) # 每隔1秒触发一次self.startBtn.setEnabled(False)self.stopBtn.setEnabled(True)def stopTimer(self):self.timer.stop()self.startBtn.setEnabled(True)self.stopBtn.setEnabled(False)def showTime(self):time QDateTime().currentDateTime()timedisplay time.toString(yyyy-MM-dd hh:mm:ss)self.label.setText(timedisplay) if __name__ __main__:import sysapp QApplication(sys.argv)win QtimerDemo()win.show()sys.exit(app.exec_())一次性定时器 # _*_ coding: utf-8 _*_ # Time : 2022/5/29 23:56 # Author : Michael # File : qtimer_demo2.py # desc : import sysfrom PyQt5.QtCore import Qt, QTimer from PyQt5.QtWidgets import QApplication, QLabelif __name__ __main__:app QApplication(sys.argv)label QLabel(font colorred size40Hello World, 3秒后会消失/font)label.setWindowFlags(Qt.SplashScreen | Qt.FramelessWindowHint) # 无边框窗口label.show()QTimer.singleShot(3000, app.quit) # 一次性定时器可模仿程序启动画面sys.exit(app.exec_())1.2 QThread 创建QThread 的子类覆写 QThread.run()调用 线程的start() 函数后会自动调用 run() # _*_ coding: utf-8 _*_ # Time : 2022/5/30 0:14 # Author : Michael # File : qthread1.py # desc : # -*- coding: utf-8 -*-import sysfrom PyQt5.QtCore import QThread, pyqtSignal from PyQt5.QtWidgets import QWidget, QListWidget, QPushButton, QGridLayout, QApplicationclass MainWidget(QWidget):def __init__(self, parentNone):super(MainWidget, self).__init__(parent)self.setWindowTitle(QThread 例子)self.thread Worker()self.listFile QListWidget()self.btnStart QPushButton(开始)layout QGridLayout(self)layout.addWidget(self.listFile, 0, 0, 1, 2)layout.addWidget(self.btnStart, 1, 1)self.btnStart.clicked.connect(self.slotStart)self.thread.sinOut.connect(self.slotAdd)def slotAdd(self, file_inf):self.listFile.addItem(file_inf)def slotStart(self):self.btnStart.setEnabled(False)self.thread.start()class Worker(QThread):sinOut pyqtSignal(str)def __init__(self, parentNone):super(Worker, self).__init__(parent)self.working Trueself.num 0def __del__(self):self.working Falseself.wait()def run(self):while self.working:file_str File index {0}.format(self.num)self.num 1# 发出信号self.sinOut.emit(file_str)# 线程休眠2秒self.sleep(2)if __name__ __main__:app QApplication(sys.argv)demo MainWidget()demo.show()sys.exit(app.exec_())界面卡住例子 # _*_ coding: utf-8 _*_ # Time : 2022/5/30 0:25 # Author : Michael # File : thread_stuck.py # desc : import sysfrom PyQt5.QtCore import QTimer from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QLCDNumber, QPushButtonglobal sec sec 0def setTime():global secsec 1# LED显示数字1lcdNumber.display(sec)def work():# 计时器每秒计数timer.start(1000)for i in range(2000000000):passtimer.stop()if __name__ __main__:app QApplication(sys.argv)win QWidget()win.resize(300, 120)# 垂直布局类QVBoxLayoutlayout QVBoxLayout(win)# 加个显示屏lcdNumber QLCDNumber()layout.addWidget(lcdNumber)button QPushButton(测试)layout.addWidget(button)timer QTimer()# 每次计时结束触发setTimetimer.timeout.connect(setTime)button.clicked.connect(work)win.show()sys.exit(app.exec_())模拟下载并计时 可以看到程序卡住了计时器也没有走起来 PyQt 中所有的窗口都是在 UI 主线程中这个线程中执行耗时的操作会阻塞 UI 线程耗时的操作需要 开启新的线程 去执行 分离UI和工作线程 # _*_ coding: utf-8 _*_ # Time : 2022/5/30 0:37 # Author : Michael # File : threadsplit_ui_work.py # desc : import sysfrom PyQt5.QtCore import QTimer, QThread, pyqtSignal from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QLCDNumber, QPushButtonglobal sec sec 0class WorkThread(QThread):trigger pyqtSignal()def __int__(self):super(WorkThread, self).__init__()def run(self):for i in range(2000000000):pass# 循环完毕后发出信号self.trigger.emit()def countTime():global secsec 1# LED显示数字1lcdNumber.display(sec)def work():# 计时器每秒计数timer.start(1000)# 计时开始workThread.start()# 当获得循环完毕的信号时停止计数workThread.trigger.connect(timeStop)def timeStop():timer.stop()print(运行结束用时, lcdNumber.value())global secsec 0if __name__ __main__:app QApplication(sys.argv)win QWidget()win.resize(300, 120)# 垂直布局类QVBoxLayoutlayout QVBoxLayout(win)# 加个显示屏lcdNumber QLCDNumber()layout.addWidget(lcdNumber)button QPushButton(测试)layout.addWidget(button)timer QTimer()workThread WorkThread()button.clicked.connect(work)# 每次计时结束触发 countTimetimer.timeout.connect(countTime)win.show()sys.exit(app.exec_())1.3 事件处理 可以使用 QApplication.processEvents() 刷新页面给人感觉不卡顿 上面卡住的例子中添加一句就可以不卡了 def work():# 计时器每秒计数timer.start(1000)for i in range(2000000000):QApplication.processEvents() # 添加这句刷新页面passtimer.stop()2. 网页交互 pyqt5 使用 QWebEngineView 控件来展示 HTML 其使用的 Chromium 内核 # _*_ coding: utf-8 _*_ # Time : 2022/5/30 0:53 # Author : Michael # File : web_load.py # desc : from PyQt5.QtCore import QUrl from PyQt5.QtWebEngineWidgets import QWebEngineView from PyQt5.QtWidgets import QMainWindow, QApplicationclass MainWin(QMainWindow):def __init__(self):super().__init__()self.setWindowTitle(load url)self.setGeometry(300, 300, 1000, 600)self.browser QWebEngineView()self.browser.load(QUrl(https://michael.blog.csdn.net/))self.setCentralWidget(self.browser)if __name__ __main__:import sysapp QApplication(sys.argv)win MainWin()win.show()sys.exit(app.exec_())显示本地 html url QUrl(D:/gitcode/Python_learning/qt/ch5/index.html) self.browser.load(url)显示 html 代码 html !DOCTYPE htmlhtmlheadmeta charsetUTF-8title/title/headbodyh1Hello michael/h1h1Hello PyQt5 from setHtml/h1/body/html self.browser.setHtml(html)调用 JavaScript # _*_ coding: utf-8 _*_ # Time : 2022/5/31 23:44 # Author : Michael # File : webjs01.py # desc : from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QPushButton from PyQt5.QtWebEngineWidgets import QWebEngineView import sys# 创建一个 application实例 app QApplication(sys.argv) win QWidget() win.setWindowTitle(Web页面中的JavaScript与 QWebEngineView交互例子)# 创建一个垂直布局器 layout QVBoxLayout() win.setLayout(layout)# 创建一个 QWebEngineView 对象 view QWebEngineView() view.setHtml(htmlheadtitleA Demo Page/titlescript languagejavascript// Completes the full-name control and// shows the submit buttonfunction completeAndReturnName() {var fname document.getElementById(fname).value;var lname document.getElementById(lname).value;var full fname lname;document.getElementById(fullname).value full;document.getElementById(submit-btn).style.display block;return full;}/script/headbodyformlabel forfnameFirst name:/labelinput typetext namefname idfname/inputbr /label forlnameLast name:/labelinput typetext namelname idlname/inputbr /label forfullnameFull name:/labelinput disabled typetext namefullname idfullname/inputbr /input styledisplay: none; typesubmit idsubmit-btn/input/form/body/html )# 创建一个按钮去调用 JavaScript代码 button QPushButton(设置全名)def js_callback(result):print(result)def complete_name():view.page().runJavaScript(completeAndReturnName();, js_callback)# QWebEngineView 对象的 page()方法返回一个 QWebEnginePage 对象# QWebEnginePage 对象的 异步 runJavaScript()方法可以执行 JavaScript代码# 需要回调函数来处理结果# 按钮连接 complete_name槽当点击按钮是会触发信号 button.clicked.connect(complete_name)# 把QWebView和button加载到layout布局中 layout.addWidget(view) layout.addWidget(button)# 显示窗口和运行app win.show() sys.exit(app.exec_())JavaScript 调用 PyQt代码 PyQt 可以与加载的 Web 页面进行双向的数据交互 from PyQt5.QtCore import pyqtPropertyclass MySharedObject(QWidget):def __init__(self):super(MySharedObject, self).__init__()def _getStrValue(self):#return 100def _setStrValue(self, str):#print(获得页面参数 %s % str)QMessageBox.information(self, Information, 获得页面参数 %s % str)# 需要定义对外暴露的方法strValue pyqtProperty(str, fget_getStrValue, fset_setStrValue)首先使用QWebEngineView对象加载 Web页面后就可以获得页面中表单输入数据在 Web 页面中通过 JavaScript 代码收集用户提交的数据 from PyQt5.QtWebEngineWidgets import QWebEngineView from PyQt5.QtWebChannel import QWebChannelchannel QWebChannel() myObj MySharedObject() channel.registerObject(bridge, myObj) view.page().setWebChannel(channel)然后在 Web 页面中JavaScript 通过桥连接方式传递数据给PyQt最后PyQt 接收到页面传递的数据经过业务处理后还可以把处理过的数据返给Web页面 html 需要引入 script srcqwebchannel.js/script html headtitleA Demo Page/titlemeta charsetUTF-8script srcqwebchannel.js/scriptscriptdocument.addEventListener(DOMContentLoaded, function () {new QWebChannel(qt.webChannelTransport, function (channel) {window.bridge channel.objects.bridge;alert(bridge bridge \n从pyqt传来的参数 window.bridge.strValue);});});function onShowMsgBox() {if (window.bridge) {var fname document.getElementById(fname).value;window.bridge.strValue fname;}}/script /headbody formlabel for姓名user name:/labelinput typetext namefname idfname/inputbr/input typebutton value传递参数到pyqt onclickonShowMsgBox()input typereset value重置/ /form /body /html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/87560.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

门户网站的布局贵阳市城乡建设学校网站

之前一直困扰自己的一个问题就是表单内radio、select等的对齐问题,一直以来,都是给提示添加label,然后跟radio等一起浮动,然后再设置margin解决的,但是这样又得另外解决IE6下的双边距问题,搞得自己相当恼。…

o2o网站模版网站开发完成情况说明

题干: JYY有两棵树A和B:树A有N个点,编号为1到N;树B有N1个点,编号为1到N1。JYY知道树B恰好是由树A加上一个叶 节点,然后将节点的编号打乱后得到的。他想知道,这个多余的叶子到底是树B中的哪一个…

后台风格网站短视频推广代理

golangvue微服务电商系统 文章目录 golangvue微服务电商系统一、项目前置准备二、项目简介三、代码GItee地址 golang、vue redis、mysql、gin、nacos、es、kibana、jwt 一、项目前置准备 环境的搭建 官方go开发工程师参考地址:https://blog.csdn.net/qq23001186/cat…

汕头市企业网站建设服务机构漳州建设银行网站

文章目录 “Q*”可能是什么?何为AI意识的产生?AI应该如何与人类对齐? 上周,OpenAI人事风波暂停的尾声中,有个“可能威胁人类”的、代号为“Q*”的神秘项目被抛掷出来。 传言中,Sam Altman被解雇前&#xff…

网站做留言板关于服装的网站规划与设计

近日,由中国网络空间安全协会主办,中国网络空间安全协会网络空间安全法律与公共政策专业委员会、北京邮电大学互联网治理与法律研究中心、公安部第三研究所网络安全法律研究中心、西安交通大学信息安全法律研究中心承办的《网络安全法(草案二…

做视频的网站带模板苏醒主题wordpress

一、引言 时间复杂度是衡量算法运行效率的一项重要指标,它描述了随着输入规模的增加,算法的执行时间如何增长。在算法设计与分析中,我们经常面临着优化时间复杂度的任务,以便提高程序的性能。本博客将深入探讨时间复杂度的优化法…

如何自己创建购物网站国家建筑信息管理平台

数学实验A 本仓库收集了2024年我在学习《数学实验A》课程期间完成的作业。课程使用的教材为《MATLAB数学实验》第三版,作者为胡良剑和孙晓君教授。 这个资源库的建立初衷是为了帮助南京邮电大学的同学们在学习过程中有一个参考的依据,减少一些无端浪费…

初创业公司做网站网站代码免费下载

一. pager-taglib-2.0简介预览. pager-taglib-2.0支持多种风格的分页,打开其源码,可以看到,处理标签的类为: PagerTag,有兴趣的同学可以研究下源码。 Simple: Text Icon: JSPTags.com : AllTheW…

网站尺寸自适应乐清新闻综合频道

现在可以用百度 百度安全验证 chatgpt用来搜索软件使用指令太牛了_个人渣记录仅为自己搜索用的博客-CSDN博客 chatgpt 使用案例 根据不同的目标群体变更文案和表达_个人渣记录仅为自己搜索用的博客-CSDN博客 倾听能力 和哪些基础能力相关 ,如何提高 chatgpt_个人渣记录仅为自…

网站建设播放vr视频西安网站开发公司排名

文章目录 Q1、什么是Spring Bean?和对象有什么区别Q2、配置Bean有哪几种方式?Q3、Spring支持的Bean有哪几种作用域?Q4、单例Bean的优势是什么?Q5、Spring的Bean是线程安全的吗?Q6、Spring如何处理线程并发问题&#xf…

购物网站成功案例Dw做html网站

​​​​ 文章目录 引言1. 错误详解2. 常见的出错场景2.1 用户输入处理错误2.2 动态数据源 3. 解决方案3.1 使用 get() 方法3.2 检查键是否存在 4. 预防措施4.1 数据验证4.2 使用默认字典 (defaultdict) 结语 引言 在Python开发中,处理字典时遇到 KeyError 是一种…

即墨网站设计wordpress 添加登录按钮

工作业务中,有大量分布式加锁的重复代码,存在两个问题,一是代码重复率高,二是容易产生霰弹式修改,使用注解和AOP可以实现代码复用,简化分布式锁加锁和解锁流程。 around注解是AspectJ框架提供的&#xff0c…

如何进行企业营销型网站建设规划东莞市建设工程网站

目录 基于JDE算法的实时多目标车辆跟踪方法 4.1引言 4.2 JDE多目标跟踪算法

龙港网站建设seo工作职责

[TOC] #说明 该文章仅科普下各方法是如何降低流片失败的可能性的。 #1. UVM方法学 1. uvm方法学的主要思想是通过用其它高级语言(python、c等)编写参考模型(REF)实现DUT设计相同功能。再使用uvm的一系列验证组件将相同的激励给…

网站备案 照片寻找在山西运城专业做网站推广的

1 概述: 在这篇文章中,我们将看到Angular 10中的APP_BASE_HREF是什么以及如何使用它。 APP_BASE_HREF为当前页面的基础href返回一个预定义的DI标记。 APP_BASE_HREF是应该被保留的URL前缀。 2 语法: provide: APP_BASE_HREF, useValue: /gfgapp3 步骤: 在app.m…

怎么建小说网站怎么样开发小程序

主题: 优先队列是一种非常有用的数据结构,它让你能够管理一组数据,使得每次访问或移除数据时,总是得到当前集合中优先级最高(或最低)的那个元素。这个特性让优先队列非常适用于需要快速访问集合中最重要元…

网站的开发公司倒闭对网站使用seosem顾问

红黑树 引言红黑树的介绍实现结点类insert搜索插入位置插入调整当parent为gparent的左子结点当parent为gparent的右子结点 参考源码测试红黑树是否合格总结 引言 在上一篇文章中我们认识了高度平衡的平衡二叉树AVL树:戳我看AVL树详解哦 (关于旋转调整的…

网站改版后seo该怎么做江苏网站建设yijuce

目录 1.数据流图 2.变换型设计和事务型设计 3.程序流程图 4.NS图和PAD图: 5.UML图 1.用例图 2.类图 3.顺序图 4.协作图 本文为个人复习资料,包含个人复习思路,多引用,也想和大家分享一下,希望大家不要介意~ …

手机上网站用建设工具h5制作平台排名

接前篇Unity 5.3.5p8 C#编译器升级,本文侧重了解一些Mono的知识。 Unity3D的编译器升级 新升级的Mono C#编译器(对应Mono 4.4) Unity编辑器及播放器所使用的Mono运行时还未升级。 新编译器仍针对C# 4,是旧的编译器也支持的版本。 …

承德网站建设流程网站流量如何来

如何通过adb获取root权限(安卓电视盒和智能电视通用)?Android 系统rom里面最主要的就3个文件:boot.img、system.img、userdata.img其中boot.img 存放着内核以及Android系统的配置信息,比如android系统各文件夹的读写权限,adb 的权限。所以如…