QML學習01(設置寬度、高度、坐標點、標題,信號與槽,鍵盤事件)

QML學習

  • 1、前言
  • 2、QML
  • 3、QML和QWidget的區別
  • 3、QtQuick下的Windows應用
  • 4、總結

1、前言

記錄一下QML學習的過程,方便自己日后回顧,也可以給有需要的人提供幫助。

2、QML

QML是 Qt 框架中的一種聲明式編程語言,專門用于快速設計和開發用戶界面(UI)

3、QML和QWidget的區別

特性QML(Qt Quick)QWidget
實現語言QML/JavaScriptC++
動態界面流暢動畫、觸摸交互動畫性能差,適合靜態布局
適用場景現代界面、動畫傳統桌面應用
跨平臺支持移動端(Android/iOS)、嵌入式主要支持桌面端(Windows/macOS/Linux)
復雜性需與C++后端結合直接通過C++實現
開發效率快速迭代,適合UI密集型項目編碼量大,適合邏輯密集型項目

3、QtQuick下的Windows應用

主要講QML在Windws下如何設置寬度,高度,坐標點,標題,信號與槽,鍵盤事件
import QtQuick 2.12
import QtQuick.Window 2.12
import QtQuick.Controls 2.5
Window {    //root控件    父窗口是主界面visible: truewidth: 640height: 480title: qsTr("My QML")signal mysignal()       //信號property int myValue: 0minimumWidth: 300       //最小寬度minimumHeight: 400      //最小高度maximumWidth: 700       //最大寬度maximumHeight: 600      //最大高度opacity: 0.8       //不透明度0-1//觸發信號,名稱第一個字母要大寫onMysignal: {}//改變寬度,也會觸發槽函數onWidthChanged: {console.log("width",width)}//自動生成屬性修改槽函數onMyValueChanged: {}//按鈕1Button {id:btn1focus: trueobjectName: "btn1"width: 50height: 50background: Rectangle{border.color: btn1.focus ? "blue" : "back"}//點擊事件onClicked: {console.log("btn1 clicked");}//鍵盤事件//按下鍵盤右鍵,焦點移動到btn2上Keys.onRightPressed: {btn2.focus = true;}}//按鈕2Button {id:btn2x:100objectName: "btn2"width: 50height: 50background: Rectangle{border.color: btn2.focus ? "blue" : "back"}onClicked: {console.log("btn2 clicked");}//鍵盤事件//按下鍵盤左鍵,焦點移動到btn2上Keys.onLeftPressed: {btn1.focus = true;}}//控件焦點onActiveFocusItemChanged: {console.log("active focus item changed",activeFocusItem,"object name",activeFocusItem.objectName)}
}

4、總結

以上就是QML的一些基礎知識了,后續還會繼續更新,瀏覽過程中,如若發現錯誤,歡迎大家指正,有問題的歡迎評論區留言或者私信。最后,如果大家覺得有所幫助,可以點一下贊,謝謝大家!祝大家天天開心,順遂無虞!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/81156.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/81156.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/81156.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

在VSCode中接入DeepSeek的指南

本文將介紹三種主流接入方式,涵蓋本地模型調用和云端API接入方案。 一、環境準備 1.1 基礎要求 VSCode 1.80+Node.js 16.x+Python 3.8+(本地部署場景)已部署的DeepSeek服務(本地或云端)1.2 安裝必備插件 # 打開VSCode插件面板(Ctrl+Shift+X) 搜索并安裝: - DeepSeek Of…

機器學習-計量經濟學

機器學習 不要事前決定變量關系,關鍵是誰也不知道啊,機器學習學習的模型(那也不是真實的關系啊) 這就是自然學科的好處:只要不斷的優化這個未知的東西(函數),然后在數據上&#xff…

五、Linux賬號與權限管理

1、管理用戶和組賬號 1.1、用戶 1.1.1、用戶的概念及作用 在Linux系統中,用戶(User)指的是可以訪問系統資源的個體實體。每個用戶都有一個唯一的用戶賬號,用于標識和管理其在系統中的活動和訪問權限。 用戶的重要性和功能: 身份認證和訪問控制: 用戶賬號用于身份認證,確…

精益數據分析(61/126):移情階段評分體系構建與實戰案例解析

精益數據分析(61/126):移情階段評分體系構建與實戰案例解析 在創業的移情階段,如何科學評估用戶需求的真實性與緊迫性,是決定后續產品方向的關鍵。今天,我們結合《精益數據分析》中的評分框架,…

完成反射宇宙的最后一塊拼圖:泛型集合

反射,c#的黑科技,一手打造漂亮的,專屬于自己的屬性框 之前分享的: 如何寫一個自定義屬性控件的功能,但是只是對基礎的類型,比如String,bool,int等,但是對list<T>,Vector<T>這種泛型集合類型支持的不是很好,剛好最近重新研究了一下,將這個非常重要的功能完成了. 效…

Redis--基礎知識點--26--過期刪除策略 與 淘汰策略

Redis 的過期策略和淘汰策略是內存管理的核心機制&#xff0c;分別用于處理鍵的自動失效和內存不足時的數據清理。以下是詳細說明&#xff1a; 1 、過期刪除策略&#xff08;Expiration Policy&#xff09; 處理已設置過期時間&#xff08;EXPIRE&#xff09;的鍵&#xff0c;…

第六天——貪心算法——字符串分隔

1. 題目 給定一個字符串 s&#xff0c;我們需要將其劃分為盡可能多的部分&#xff0c;使得同一字母最多出現在一個部分中。 例如&#xff1a;字符串 "ababcc" 可以劃分為 ["abab", "cc"]&#xff0c;但要避免 ["aba", "bcc&quo…

[原創](現代Delphi 12指南):[macOS 64bit App開發]: 注意“回車換行“的跨平臺使用.

[作者] 常用網名: 豬頭三 出生日期: 1981.XX.XX 企鵝交流: 643439947 個人網站: 80x86匯編小站 編程生涯: 2001年~至今[共24年] 職業生涯: 22年 開發語言: C/C++、80x86ASM、Object Pascal、Objective-C、C#、R、Python、PHP、Perl、 開發工具: Visual Studio、Delphi、XCode、…

Maven 插件參數注入與Mojo開發詳解

&#x1f9d1; 博主簡介&#xff1a;CSDN博客專家&#xff0c;歷代文學網&#xff08;PC端可以訪問&#xff1a;https://literature.sinhy.com/#/?__c1000&#xff0c;移動端可微信小程序搜索“歷代文學”&#xff09;總架構師&#xff0c;15年工作經驗&#xff0c;精通Java編…

擴增子分析|R分析之微生物生態網絡穩定性評估之節點和連接的恒常性、節點持久性以及組成穩定性指數計算

一、引言 周集中老師團隊于2021年在Nature climate change發表的文章&#xff0c;闡述了網絡穩定性評估的原理算法&#xff0c;并提供了完整的代碼。自此對微生物生態網絡的評估具有更全面的指標&#xff0c;自此網絡穩定性的評估廣受大家歡迎。本文將介紹網絡穩定性之節點和連…

人體肢體渲染-一步幾個腳印從頭設計數字生命——仙盟創夢IDE

人體肢體動作數據集-太極拳 渲染代碼 # 初始化Pygame pygame.init()# 設置窗口尺寸 WINDOW_WIDTH 800 WINDOW_HEIGHT 600 window pygame.display.set_mode((WINDOW_WIDTH, WINDOW_HEIGHT)) pygame.display.set_caption("動作回放")# 設置幀率 FPS 30 clock pyg…

強化學習入門:馬爾科夫獎勵過程

文章目錄 前言1、組成部分2、應用例子3、馬爾科夫獎勵過程總結 前言 最近想開一個關于強化學習專欄&#xff0c;因為DeepSeek-R1很火&#xff0c;但本人對于LLM連門都沒入。因此&#xff0c;只是記錄一些類似的讀書筆記&#xff0c;內容不深&#xff0c;大多數只是一些概念的東…

騰訊開源實時語音大模型VITA-audio,92mstoken極速響應,支持多語言~

簡介 VITA-Audio 是一個由騰訊優圖實驗室&#xff08;Tencent Youtu Lab&#xff09;、南京大學和廈門大學的研究人員共同開發的項目&#xff0c;旨在解決現有語音模型在流式生成&#xff08;streaming&#xff09;場景下生成第一個音頻令牌&#xff08;token&#xff09;時的高…

測序的原理

Sanger 測序原理 https://v.qq.com/x/page/d0124c0k44t.html illumina 測序原理&#xff1a; https://v.qq.com/x/page/i0770fd7r9i.html PacBio 第三代 SMRT 單分子測序 https://v.qq.com/x/page/r03534cry7u.html Ion torrent 測序原理 https://v.qq.com/x/page/v01754s6r82.…

高項-邏輯數據模型

邏輯數據模型的核心理解 1. 定義與特點 邏輯數據模型&#xff08;Logical Data Model, LDM&#xff09;&#xff1a; 是一種抽象的數據結構設計&#xff0c;用于描述業務實體&#xff08;如客戶、訂單&#xff09;及其關系&#xff08;如“客戶下單”&#xff09;&#xff0c…

《數字分身進化論:React Native與Flutter如何打造沉浸式虛擬形象編輯》

React Native&#xff0c;依托JavaScript語言&#xff0c;借助其成熟的React生態系統&#xff0c;開發者能夠快速上手&#xff0c;將前端開發的經驗巧妙運用到移動應用開發中。它通過JavaScript橋接機制調用原生組件&#xff0c;實現與iOS和Android系統的深度交互&#xff0c;這…

提高繩牽引并聯連續體機器人運動學建模精度的基于Transformer的分段學習方法

合肥工業大學王正雨老師團隊針對繩牽引并聯連續體機器人的運動學建模提出一種基于Transformer網絡的分段學習方法&#xff0c;該方法較傳統建模性能卓越、精度更高。相關研究論文“Transformer-based segmented learning for kinematics modelling of a cable-driven parallel …

【PX4飛控】在 Matlab Simulink 中使用 Mavlink 協議與 PX4 飛行器進行交互

這里列舉一些從官網收集的比較有趣或者實用的功能。 編寫 m 腳本與飛行器建立 UDP 連接&#xff0c;并實時可視化 Mavlink 消息內容&#xff0c;或者讀取腳本離線分析數據。不光能顯示 GPS 位置或者姿態等信息的時間曲線&#xff0c;可以利用 Matlab Plot 功能快速定制化顯示一…

Oracle中的select1條、幾條、指定范圍的語句

在Oracle中&#xff0c;可以使用不同的方法來選擇一條記錄、多條記錄或指定范圍內的記錄。以下是具體的實現方式&#xff1a; 1. 查詢單條記錄 使用ROWNUM偽列限制結果為1條&#xff1a; SELECT * FROM your_table WHERE ROWNUM 1;特點&#xff1a;Oracle會在結果集生成時分…

自營交易考試為何出圈?一場模擬交易背后的真實競爭

在交易圈里&#xff0c;有個現象正在悄悄發生&#xff1a;越來越多交易員開始主動報名參與一類“非實盤”的考試&#xff0c;原因卻并不復雜。不是為了資格證書&#xff0c;也不是為了炫技&#xff0c;而是為了一個更實在的東西——穩定、透明的利潤分成&#xff0c;以及一次向…