Qt自定義QML模塊

自定義QML模塊

含義為將常用風格的Button,Text,RadioButton,或者自定義的控件作為一個控件進行使用,節省代碼。

優點:

  • 代碼簡潔,減少重復代碼
  • 自定義的控件進行封裝重復使用
  • 可以與QML自帶的庫區別開來
  • 優化項目結構

一、創建模塊

1. 創建文件夾
在項目目錄下創建自定義模塊的文件夾名稱,例如:

mkdir ./controls #在項目根目錄下創建文件夾

2. 創建控件文件
上一步創建了controls文件夾,所以此模塊為自定義控件的集合。

創建自定義的Button和Text文件

touch Button.qml Text.qml

3. 導入項目
將此controls文件夾添加到項目中

image

4. 自定義控件

Button.qml文件

import QtQuick 2.5
import QtQuick.Controls 2.1Button {property int clickedTimes: 0;//定義一些默認屬性的設置,大小,顏色等
}

Text.qml文件

import QtQuick 2.5
import QtQuick.Controls 2.1Text{property string city: "shanghai";//定義一些默認屬性的設置,大小,顏色等
}

5. 自定義模塊的使用

main.qml文件

import QtQuick 2.5
import QtQuick.Controls 2.1
import QtQuick.Layouts 1.1
import "./controls" as MyControls //as會將controls目錄下的自定義控件加載進來ApplicationWindow {visible: true;width: 1280;height: 720;title: qsTr("Photo");MyControls.Button {clickedTimes: dada;}MyControls.Text {city: "beijing";}
}

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

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

相關文章

POJ3984 迷宮問題【BFS】

好長時間沒有敲過代碼了,感覺之前學過的都忘了,趁著這個暑假,打算把之前學習的東西都復習一下,當然得慢慢來,畢竟好長時間不敲代碼了,怎么著都有些生疏,再加上之前學的也不咋地,相當…

宏定義基本用法

宏定義 不帶參數 宏定義又稱為宏代換、宏替換,簡稱“宏”。 格式: #define 標識符 字符串其中的標識符就是所謂的符號常量,也稱為“宏名”。 預處理(預編譯)工作也叫做宏展開:將宏名替換為字符串。 掌…

廣度優先搜索練習之神奇的電梯

廣度優先搜索練習之神奇的電梯 Time Limit: 1000ms Memory limit: 65536K 題目描述 有一座已知層數為n的高樓,這座高樓的特殊之處在于只能靠電梯去上下樓,所以要去到某一層要非常耽誤時間,然而更悲哀的是,這座高樓的電梯是限號…

ubuntu安裝proxychains及自動補全

proxychains ProxyChains是本人目前為止用到的最方便的代理工具。 inux下代理一般是通過http_proxy和https_proxy這兩個環境變量,但是很多軟件并不使用這兩個變量,導致流量無法走代理。在不使用vpn的前提下,linux并沒有轉發所有流量的真全局…

快速冪講解

快速冪的目的就是做到快速求冪,假設我們要求a^b,按照樸素算法就是把a連乘b次,這樣一來時間復雜度是O(b)也即是O(n)級別,快速冪能做到O(logn),快了好多好多。它的原理如下: 假設我們要求a^b,那么其實b是可以…

如何查詢資料

如何查詢資料技術資料及問題查詢查詢方法分類查找提取關鍵字GitHub項目優先使用Google搜索引擎Copy Paste論文查找詢問主管 測試修改使用總結分享 公司信息查詢國內公司國外公司 如何查詢資料 技術資料及問題查詢 查詢方法 資料與解決辦法的查詢大致分為7大類。 1.分類查…

山東省第八屆 ACM 省賽 sum of power(SDUT 3899)

Problem Description Calculate ∑ni1im mod (10000000007) for given n,m. Input Input contains two integers n,m(1≤n≤1000,0≤m≤10). Output Output the answer in a single line. Example Input 10 0 Example Output 10 方法:快速冪和大數求和 …

Ubuntu主題更換

Ubuntu主題更換 目前的Ubuntu有Unity和Gnome兩個比較流行的版本,以下為Gnome桌面環境的主題更換,其他桌面環境類似。 主題的下載地址,點擊 Theme 將在網絡上下載的主題文件進行解壓,然后拷貝到 /usr/share/themes/ 目錄下&…

awk簡單使用

awk 用于在linux/unix下對文本和數據進行處理,支持用戶自定義函數和動態正則表達式等先進功能。 命令格式: awk BEGIN{ print “start” } pattern { commend } END{print "end"} file awk "BEGIN{ print “start” } pattern { commend } END{pr…

Ubuntu 14.04 下 Virtual Judge 的搭建

前期準備工作 1.1 一個Linux系統 因為現場賽的緣故,我一直使用的都是ubuntu。 這里我測試用的是Ubuntu14.04 Desktop 64bit ,當然選擇Server會更好一些. 系統的安裝不再贅述,作為服務器請選用Server版本。1.2 更新源 在搭建環境之前,請確保…

BitMap的原理介紹與實現

BitMap 位圖(bitmap)是一種非常常用的結構,在索引,數據壓縮等方面有廣泛應用。位圖是通過將數組下標與應用中的一些值關聯映射,數組中該下標所指定的位置上的元素可以用來標識應用中值的情況(是否存在或者數…

MySQL與PHP連接

1、mysql_connect()-建立數據庫連接 格式: resource mysql_connect([string hostname [:port] [:/path/to/socket] [, string username] [, string password]]) 例: $conn mysql_connect("localhost", "username", "pa…

QML Profiler性能優化教程

QML Profiler 2018年1月26日 vincent 對于一個程序的開發,性能優化是開發中的一個重要步驟。 我們肯定不希望開發出來的程序表現出卡頓,最好是處處流暢,絲滑般的體驗。 對于C程序,我們有很多方法可以做性能優化,例如…

uburntu在不能自動獲取網絡時的聯網設置

一:網絡基礎配置 1. eth0設置不正確,導致無法正常啟動,修改eth0配置文件就好 ubuntu 12.04的網絡設置文件是/etc/network/interfaces,打開文件,會看到 auto lo iface lo inet loopback 這邊的設置是本地回路。在后…

計算機顯卡知識普及

顯卡知識普及 一、什么是顯卡? 顯示接口卡(Video card,Graphics card)、顯示器配置卡簡稱為顯卡,是個人電腦基本組成部分之一。 用途是將計算機系統所需要的顯示信息進行轉換驅動,并向顯示器提供信號&…

整除的尾數

Problem Description 一個整數&#xff0c;只知道前幾位&#xff0c;不知道末二位&#xff0c;被另一個整數除盡了&#xff0c;那么該數的末二位該是什么呢&#xff1f; Input 輸入數據有若干組&#xff0c;每組數據包含二個整數a&#xff0c;b(0<10000,10<b<100)&…

QML 控件大全

QML TypeContainerDelayButtonDialDialogButtonBoxDialogDrawerMenuMenuBarOverlayPageIndicatorRangeSliderScrollViewSpinBoxStackViewSwipeViewSwitchTabBarToolBarToolSeparatorToolTipTumbler QML Type 本篇主要介紹QtQuick Controls 2,Qt Creator 5.10 1.Container im…

斐波那契的整除

Description 已知斐波那契數列有如下遞歸定義&#xff0c;f(1)1,f(2)1, 且n>3,f(n)f(n-1)f(n-2)&#xff0c;它的前幾項可以表示為1&#xff0c; 1&#xff0c;2 &#xff0c;3 &#xff0c;5 &#xff0c;8&#xff0c;13&#xff0c;21&#xff0c;34…&#xff0c;現在的…

Qt與QML的枚舉綁定(C++枚舉)

Qt到QML的枚舉綁定 QML中是不支持c的枚舉類型的&#xff0c;所以我們可以使用Qt的元對象系統&#xff0c;即MOS,來幫助我們實現。 進行綁定的好處就是&#xff0c;以后數據發生變化的時候&#xff0c;就是枚舉發生增加修改&#xff0c;添加等的時候&#xff0c;不需要在QML中…

深入理解Qt的.pro文件

深入理解Qt的pro文件模板變量生成目錄生成的應用程序名編譯選項目標文件目錄包含頭文件包含源文件包含資源文件附加頭文件包含鏈接庫預編譯宏平臺相關性處理指定來自ui文件位置指定界面翻譯文本列表指定圖標 深入理解Qt的.pro文件 一般Qt項目我們是使用Qt Creator自動生成的&…