国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁(yè) > news >正文

申請(qǐng)免費(fèi)網(wǎng)站建設(shè)seo排名優(yōu)化

申請(qǐng)免費(fèi)網(wǎng)站建設(shè),seo排名優(yōu)化,學(xué)做效果圖網(wǎng)站,wordpress獨(dú)立下載頁(yè)面插件1. 實(shí)現(xiàn)功能 QML項(xiàng)目中,點(diǎn)擊一個(gè)按鍵后,運(yùn)行一段比較耗時(shí)的程序,此時(shí)ui線程會(huì)卡住。如何避免ui線程卡住。 2. 單線程(會(huì)卡住) 2.1 界面 2.2 現(xiàn)象 點(diǎn)擊delay btn后,執(zhí)行耗時(shí)函數(shù)(TestJs.func…

1. 實(shí)現(xiàn)功能

QML項(xiàng)目中,點(diǎn)擊一個(gè)按鍵后,運(yùn)行一段比較耗時(shí)的程序,此時(shí)ui線程會(huì)卡住。如何避免ui線程卡住。

2. 單線程(會(huì)卡住)

2.1 界面

在這里插入圖片描述

2.2 現(xiàn)象

  • 點(diǎn)擊delay btn后,執(zhí)行耗時(shí)函數(shù)(TestJs.func_delay())界面阻塞(阻塞了12s),等待運(yùn)行完成后,點(diǎn)擊ui btn才能響應(yīng)。
qml: 2024-11-14 09:48:29 ui thread
qml: 2024-11-14 09:48:30 click delay btn
qml: delay thread 2024-11-14 09:48:42
qml: 2024-11-14 09:48:42 ui thread

2.3 main.qml

import QtQuick 2.15
import QtQuick.Window 2.15
import QtQuick.Controls 2.15
import "test.js" as TestJsWindow {width: 640height: 480visible: truetitle: qsTr("Thread")Row{spacing: 20Button{width: 200height: 100text: "ui btn"onClicked: {console.log(Qt.formatDateTime(new Date(), "yyyy-MM-dd HH:mm:ss"), "ui thread")}}Button{width: 200height: 100text: "delay btn"onClicked: {console.log(Qt.formatDateTime(new Date(), "yyyy-MM-dd HH:mm:ss"), "click delay btn")TestJs.func_delay()}}}
}

2.4 test.js


//耗時(shí)函數(shù)
function func_delay() {var cnt = 0;for(let i=0; i<1000000000; i++){cnt++;}console.log("delay thread", Qt.formatDateTime(new Date(),"yyyy-MM-dd HH:mm:ss"))
}

3. 多線程(WorkerScript方式)

3.1 界面

在這里插入圖片描述

3.2 現(xiàn)象

  • 將耗時(shí)函數(shù)(func_delay())放到WorkerScript.onMessage中執(zhí)行,這樣ui線程不會(huì)阻塞。
  • ui線程與delay線程直接可以通訊,發(fā)送通過(guò)sendMessage,接收通過(guò)onMessage
qml: 2024-11-14 09:54:11 ui thread
qml: 2024-11-14 09:54:11 click delay btn-1
qml: 2024-11-14 09:54:11 click delay btn-2
qml: 2024-11-14 09:54:12 ui thread
qml: 2024-11-14 09:54:13 ui thread
js: delay thread 2024-11-14 09:54:23
js: ui thread -> delay thread:  Hello, I am ui thread.
qml: delay thread -> ui thread:  Hello, I am delay thread.

3.3 main.qml

import QtQuick 2.15
import QtQuick.Window 2.15
import QtQuick.Controls 2.15
import "test.js" as TestJsWindow {width: 640height: 480visible: truetitle: qsTr("Thread")Row{spacing: 20Button{width: 200height: 100text: "ui btn"onClicked: {console.log(Qt.formatDateTime(new Date(), "yyyy-MM-dd HH:mm:ss"), "ui thread")}}Button{width: 200height: 100text: "delay btn"onClicked: {console.log(Qt.formatDateTime(new Date(), "yyyy-MM-dd HH:mm:ss"), "click delay btn-1")//發(fā)送數(shù)據(jù)myWorker.sendMessage({'msg': 'Hello, I am ui thread.'})console.log(Qt.formatDateTime(new Date(), "yyyy-MM-dd HH:mm:ss"), "click delay btn-2")}}WorkerScript{id: myWorkersource: "test.js"//接收數(shù)據(jù)onMessage: {console.log("delay thread -> ui thread: ", messageObject.msg)}}}
}

3.4 test.js


function func_delay() {var cnt = 0;for(let i=0; i<1000000000; i++){cnt++;}console.log("delay thread", Qt.formatDateTime(new Date(),"yyyy-MM-dd HH:mm:ss"))
}WorkerScript.onMessage = function(message){func_delay()console.log("ui thread -> delay thread: ", message.msg)//發(fā)送數(shù)據(jù)WorkerScript.sendMessage({'msg': 'Hello, I am delay thread.'})
}

參考

Qt 之 qml WorkerScript使用

http://aloenet.com.cn/news/37423.html

相關(guān)文章:

  • 汕頭建設(shè)吧百度貼吧seo外包優(yōu)化公司
  • ecshop商城網(wǎng)站建設(shè)seo搜索優(yōu)化工具
  • 做網(wǎng)站制作需要多少錢(qián)最新國(guó)內(nèi)新聞重大事件
  • 宜賓網(wǎng)站建設(shè)費(fèi)用抖音推廣引流
  • 阿里云網(wǎng)站建設(shè)方案書(shū)模板網(wǎng)站搜索引擎優(yōu)化診斷
  • 在百度上做網(wǎng)站西安百度推廣優(yōu)化托管
  • 做金館長(zhǎng)網(wǎng)站網(wǎng)站寧寧網(wǎng)seo
  • 網(wǎng)站建設(shè)人才百度云怎么找資源
  • 任丘做網(wǎng)站現(xiàn)在什么app引流效果好
  • 北京疫情有多嚴(yán)重網(wǎng)站推廣優(yōu)化平臺(tái)
  • 樓盤(pán)銷售管理網(wǎng)站開(kāi)發(fā)資源官網(wǎng)關(guān)鍵詞優(yōu)化價(jià)格
  • 比價(jià)網(wǎng)官網(wǎng)安卓神級(jí)系統(tǒng)優(yōu)化工具
  • 常州市建設(shè)局網(wǎng)站專業(yè)的網(wǎng)站優(yōu)化公司排名
  • 競(jìng)價(jià)網(wǎng)站如何設(shè)計(jì)廣州seo優(yōu)化費(fèi)用
  • 各大招聘網(wǎng)站濟(jì)南百度推廣代理商
  • wordpress數(shù)據(jù)庫(kù)發(fā)布文章做網(wǎng)絡(luò)優(yōu)化哪家公司比較好
  • 可以做代發(fā)貨源的網(wǎng)站seo外包公司怎么樣
  • 公眾號(hào)做視頻網(wǎng)站會(huì)封嗎市場(chǎng)推廣方案范文
  • 建設(shè)一個(gè)網(wǎng)站需要什么西安網(wǎng)站seo費(fèi)用
  • 禪城網(wǎng)站建設(shè)報(bào)價(jià)網(wǎng)站首頁(yè)排名seo搜索優(yōu)化
  • 電子商務(wù)網(wǎng)站建設(shè)和管理的含義百度競(jìng)價(jià)登陸
  • vs網(wǎng)站畢業(yè)設(shè)計(jì)怎么做西安seo網(wǎng)絡(luò)推廣
  • b2b b2c 網(wǎng)站建設(shè)seo網(wǎng)站關(guān)鍵詞優(yōu)化多少錢(qián)
  • 做推送網(wǎng)站今天最新的新聞?lì)^條新聞
  • 有的網(wǎng)站打不開(kāi)是什么原因呢google搜索引擎入口下載
  • 網(wǎng)站站點(diǎn)創(chuàng)建成功了該怎么做外包公司為什么沒(méi)人去
  • 做視頻網(wǎng)站怎么備案百度競(jìng)價(jià)點(diǎn)擊軟件奔奔
  • seo與網(wǎng)站建設(shè)教師遭網(wǎng)課入侵直播錄屏曝光廣場(chǎng)舞
  • 大型服裝商城網(wǎng)站建設(shè)世界羽聯(lián)巡回賽總決賽
  • 高端手機(jī)網(wǎng)站百度圖片識(shí)別