精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

詳解 Qt Quick 開始使用QML編程

移動開發
本文介紹的是Qt Quick 開始使用QML編程,又開始接觸Qt Quick,不說這么多,本文又詳細介紹。先來看本文。

本文介紹的是Qt Quick 開始使用QML編程,剛才說又接觸Qt Quick,那么簡單的介紹以下,本文Qt Quick包含了一個名為QML的聲明式語言、Qt Declarative模塊和QML Viewer,先來看本文內容。

Getting Started Programming with QML

歡迎來到QML——這個聲明式語言的世界!在這節入門指南里,我們將使用QML創建一個簡單的文本編輯器程序。讀完此節,你應該能做好使用QML和Qt C++開發自己的應用程序的準備了。

Installation

首先,你需要安裝包含Qt 4.7,這個包含了Qt Quick的最新的Qt版本。(譯注:現在是Qt 4.7.2)安裝指南包含了安裝介紹以及不同平臺的安裝要求。 

QML to Build User Interfaces

我們要制作的這個程序是個用來加載、保存以及執行一些文本操作的簡單的文本編輯器。本指南包含兩部分。第一部分包含使用QML中的生命語言來設計程序的布局和行為。使用Qt的Meta-Object-System,我們可以將C++函數暴露為QML元素使用的屬性。使用QML和Qt C++,我們可以有效的將應用程序邏輯和界面邏輯解耦合。

詳解 Qt Quick 開始使用QML編程

最終源碼在examples/tutorials/gettingStarted/gsQml目錄下. 你或許要先編譯一下examples/tutorials/gettingStarted/gsQml/下的C++插件. 編譯完后,這個插件會存放在QML文件可以找到的一個目錄下。(譯注:編譯成功后,會在examples/tutorials/gettingStarted/gsQml/plugins/目錄下生成FileDialog.dll。)

只需要將QML文件作為qmlviewer的一個參數,就可以運行這個文本編輯器了。本教程的C++部分假設讀者具備Qt編譯過程的基本知識。

定義一個按鈕和一個菜單

基本組件: 一個按鈕

我們先從生成一個按鈕開始。功能上來說,一個按鈕有一個鼠標敏感性區域和一個標簽。當用戶按下,按鈕執行動作。

QML中,基本的可視item是Rectangle元素。它有一些可以控制其外觀和位置的屬性。

  1. Codeimport QtQuick 1.0  
  2.  
  3.  Rectangle {  
  4.      id: simplebutton  
  5.      color: "grey"  
  6.      width: 150; height: 75  
  7.  
  8.      Text{  
  9.          id: buttonLabel  
  10.          anchors.centerIn: parent  
  11.          text: "button label"  
  12.      }  
  13.  } 

首先import QtQuick 1.0允許qmlviewer導入我們后來會用到的QML元素。每一個QML文件都必須有這行。注意,import語句中包含了Qt模塊的版本。

這個簡單的矩形有一個唯一的標識符,simplebutton,綁定到id屬性上。羅列出矩形元素的屬性,后跟冒號和值,可以將值綁定到對應的屬性上。實例中,grey綁定到了color屬性上。同樣地,也綁定了矩形的widht和height。

Text元素是不可編輯的文本域。我們將它命名為buttonLabel。將值綁定到text屬性,可以設置文本域的字符串內容。標簽包含在矩形中,為了將其置于中間,我們將Text元素的anchors賦給它的parent,即simplebutton。anchors可能綁定到其他anchors上,從而更方便地分配布局。

我們將代碼保存為SimpleButton.qml。將這個文件作為參數傳給qmlviewer,就會顯示出一個帶文本標簽的灰色矩形。

詳解 Qt Quick 開始使用QML編程

我們可以使用QML的事件處理來實現按鈕的點擊功能。QML的事件處理與Qt的signal slot機制非常類似。發出signals,連接到的slots就被調用。

  1. CodeRectangle{  
  2.      id:simplebutton  
  3.      ...  
  4.      MouseArea{  
  5.          id: buttonMouseArea  
  6.  
  7.          anchors.fill: parent //anchor all sides of the mouse area to the rectangle's anchors  
  8.                  //onClicked handles valid mouse button clicks  
  9.          onClicked: console.log(buttonLabel.text + " clicked" )  
  10.      }  
  11.  }  

我們在simplebutton中包含了一個MouseArea元素。它描述了可以檢測到鼠標移動的互動區域。對我們的按鈕,我們將整個MouseArea的anchors設置為它的parent,simplebutton。語法anchors.fill是訪問anchors屬性集中的特定的fill屬性的一種方式。QML使用基于anchor的布局,一個item可以anchor到另外一個上,創建健壯的布局。

鼠標在 這個特定的MouseArea邊界內移動時,MouseArea可以調用很多signal handlers。其中一個是onClicked,當可接受的鼠標按鈕被點下——默認是左邊的按鍵,這個signal handler就會被調到。我們可以綁定動作到這個handler上。在我們的例子中,當鼠標區域被按下時,console.log()會輸出文字。console.log()函數對調試和輸出文字來說,都是一個有用的工具。

在屏幕上顯示一個按鈕來,并在鼠標點擊時輸出文字,SimpleButton.qml中的代碼已經足夠了。

  1. CodeRectangle {  
  2.      id: button  
  3.      ...  
  4.      property color buttonColor: "lightblue"  
  5.      property color onHoverColor: "gold"  
  6.      property color borderColor: "white"  
  7.      signal buttonClick()  
  8.      onButtonClick: {  
  9.          console.log(buttonLabel.text + " clicked" )  
  10.      }  
  11.      MouseArea{  
  12.          onClicked: buttonClick()  
  13.          hoverEnabled: true  
  14.          onEntered: parent.border.color = onHoverColor 
  15.          onExited:  parent.border.color = borderColor 
  16.      }  
  17.      //determines the color of the button by using the conditional operator  
  18.      color: buttonMouseArea.pressed ? Qt.darker(buttonColor, 1.5) : buttonColor  
  19.  }  

 Button.qml中是一個全功能的按鈕。本文中的代碼片段省略了一些代碼。這些代碼用省略號表示,它們要么已經在前面的章節中介紹過了,要么與現在討論的代碼無關。 可以使用屬性 類型名字的語法來聲明自定義屬性。代碼中,聲明的buttonColor ,是一個color類型的屬性,并綁定了值“lightblue“。buttonColor 后來用到一個條件運算中,決定按鈕的填充顏色。除了使用冒號將值綁定到屬性外,也可以使用等號賦值。自定義屬性可以被Rectangle范圍以外的內部items訪問到。
 
基本的QML類型有int、string,、real, 還有variant。 綁定onEntered和onExited signal handlers 到colors上,當鼠標在按鈕上懸停時,按鈕的邊界會變成黃色;當鼠標退出鼠標域時會變回原來的顏色。 把關鍵字signal 放到信號名字前面,Button.qml聲明了一個buttonClick() 信號。所有的信號都有自動生成的、名字以on開頭的handler。結果是,onButtonClick是buttonClick的handler。onButtonClick指定了要執行的操作。我們的例子中,onClicked只會調用onButtonClick來顯示文字。

onButtonClick讓外部的對象很容易地訪問到Button的鼠標區域。例如,items可能有多個MouseArea聲明,buttonClick信號可以更好地區分這幾個MouseArea的signal handlers之間。 在QML中實現item,并處理基本的鼠標移動,這樣的基本知識我們已經具備了。

我們在Rectangle中創建了aText標簽,自定義它的屬性,實現了響應鼠標移動的行為。在這個文本編輯器程序中,我們會不停地重復在一個元素里創建領一個元素。 只有被用作執行操作的組件,按鈕才有用處。在下面的章節中,我們很快就會創建一個菜單,包含幾個這樣的按鈕。

詳解 Qt Quick 開始使用QML編程

小結:詳解 Qt Quick 開始使用QML編程的內容介紹完了,希望本文能幫你解決問題,想要更多資料請參考編輯推薦!

責任編輯:zhaolei 來源: 網絡轉載
相關推薦

2011-06-20 13:23:03

Qt Quick QML

2011-06-10 11:05:05

Qt Quick QML

2013-09-22 10:15:01

Spring DataJPA

2019-09-30 10:51:11

Markdown標記語言

2011-03-11 14:43:41

Qt-QuickQML

2011-07-01 14:55:28

Qt QML C++

2017-08-25 14:29:43

機器學習Java

2021-02-14 10:05:54

PowerCLI虛擬化語言

2022-06-09 09:00:00

編程語言后端Dark

2011-05-16 14:12:30

QuickWidgetQML

2022-11-17 07:57:34

2020-03-25 09:53:33

人工智能AI技術

2019-12-23 13:20:34

LinuxLumina

2011-06-10 11:24:08

Qt Quick Designer

2024-05-24 10:01:12

2012-03-17 21:45:02

JavaScript

2017-06-27 14:58:21

備份數據庫Oracle

2018-05-09 20:08:09

人工智能深度學習Python

2011-06-24 15:30:22

QT 皮膚 QSS

2010-05-25 10:17:37

云計算
點贊
收藏

51CTO技術棧公眾號

日韩一区二区三区在线播放| 日韩欧美精品中文字幕| 91探花福利精品国产自产在线| 天海翼在线视频| 亚洲精品v亚洲精品v日韩精品| 亚洲成人激情av| 秋霞在线观看一区二区三区| 国产内射老熟女aaaa∵| 日韩亚洲在线| 日韩视频免费大全中文字幕| www.com日本| jizz亚洲女人高潮大叫| 一二三四社区欧美黄| 日韩.欧美.亚洲| 亚洲va欧美va| 毛片基地黄久久久久久天堂| 久久久久免费视频| 国产精品麻豆一区| 亚洲成a人片77777在线播放| 日韩一区二区三区视频在线观看| 亚洲国产精品久久久久爰色欲| av在线网址观看| 久久久亚洲高清| 不卡视频一区| 一级黄色短视频| 美女国产精品| 国内成人精品视频| 久久国产美女视频| 久久激情电影| 亚洲欧美另类中文字幕| 91超薄肉色丝袜交足高跟凉鞋| 国产成人亚洲一区二区三区| 狠狠色狠狠色综合日日小说| 日韩成人手机在线| 成年人黄视频在线观看| 国产日本一区二区| 久久99国产精品| 亚洲AV无码一区二区三区少妇 | 国产精品69久久久久水密桃| 国产福利精品视频| 国产成人精品网| 91久久黄色| 久久久久久国产精品美女| 国产67194| 亚洲国产精品91| xxxx性欧美| 国产精品suv一区二区88| 国产一卡不卡| 国产亚洲日本欧美韩国| 丰满少妇一区二区| 亚洲影院天堂中文av色| 亚洲精品中文字幕av| 玖草视频在线观看| 久久365资源| 亚洲精品成a人在线观看| 日本性生活一级片| 久久精品凹凸全集| 日韩精品亚洲精品| mm131丰满少妇人体欣赏图| 你懂的一区二区三区| 日韩精品丝袜在线| 熟女俱乐部一区二区视频在线| 久久久伦理片| 亚洲老头老太hd| 日本一级免费视频| 成人写真视频| 日韩一区视频在线| 欧美激情精品久久| 国产日韩欧美三区| 国产91精品最新在线播放| 亚洲大尺度在线观看| 久久精品国产久精国产爱| 91精品免费视频| 欧美一级片免费| 91老司机福利 在线| 日韩久久在线| caopen在线视频| 午夜精品视频在线观看| 美女福利视频在线| 亚洲人成777| 亚洲精品suv精品一区二区| 色无极影院亚洲| 99久久久国产精品美女| 欧美夫妻性生活视频| 在线观看黄网站| 毛片av一区二区三区| 产国精品偷在线| 嫩草在线播放| 亚洲日本电影在线| 欧美日韩精品在线一区二区 | 天天综合日日夜夜精品| 天堂中文视频在线| 日韩三级av高清片| 亚洲欧洲成视频免费观看| 人与动物性xxxx| 一本色道久久综合亚洲精品高清| 国产精品久久久| 亚洲精品网站在线| 国产精品毛片a∨一区二区三区| 亚洲av综合色区| 久久人体大尺度| 日韩午夜电影在线观看| 国产免费一区二区三区网站免费| 2023国产精品久久久精品双 | 日韩电影免费观| 日韩亚洲国产中文字幕欧美| 亚洲第一成人网站| 国产精品va| 国产日韩欧美视频| 亚州男人的天堂| 亚洲美女在线一区| 91香蕉视频污版| 欧美三级电影在线| 超碰日本道色综合久久综合 | а_天堂中文在线| 欧美日韩精品电影| 国产白嫩美女无套久久| 亚洲激情五月| 国产精品视频播放| 亚洲av成人精品毛片| 一区二区三区 在线观看视频| 色哟哟精品视频| 国产精品亚洲人成在99www| 欧美激情啊啊啊| 97人妻精品一区二区三区视频| 91免费看视频| 国产精品裸体瑜伽视频| 日韩中文一区二区| 久久精品美女视频网站| 国产美女www| 久久久久综合网| 日韩在线一级片| www.丝袜精品| 欧美激情在线有限公司| 国产日韩欧美视频在线观看| 国产精品午夜久久| 国产无套粉嫩白浆内谢的出处| 天海翼精品一区二区三区| 欧美国产一区二区三区| av中文字幕免费在线观看| 国产精品久久久久久亚洲毛片 | 日韩成人在线免费观看| 国产精彩视频在线观看| 国产69精品久久久久毛片| 中文字幕精品在线播放| 国产精品xnxxcom| 久久精品成人一区二区三区| 一区二区久久精品66国产精品| 国产精品区一区二区三| 日本三级黄色网址| 欧美aaaaaaaaaaaa| 91精品在线观| 成人免费高清| 日韩一二在线观看| 国产在线视频99| 成人精品国产免费网站| 国产资源在线视频| 日韩福利视频一区| 国产999精品视频| 超碰免费97在线观看| 欧美日韩精品久久久| 国精产品一区一区二区三区mba| 久久精品国产网站| 日韩一级特黄毛片| 开心激情综合| 国产91在线播放精品91| 成人在线观看免费| 欧美精品99久久久**| 久草视频在线免费看| 成人av免费在线| 成年人免费在线播放| 精品视频免费| 亚洲综合成人婷婷小说| 大香伊人久久| 亚洲色在线视频| 在线观看国产一区二区三区| 亚洲柠檬福利资源导航| 丝袜熟女一区二区三区| 日韩精品电影一区亚洲| 色中文字幕在线观看| 9l视频自拍蝌蚪9l视频成人| 日本韩国欧美精品大片卡二| 色影视在线观看| 精品欧美一区二区在线观看| 久久久久99精品成人片三人毛片| 亚洲国产精品精华液ab| 又大又长粗又爽又黄少妇视频| 亚洲一区久久| 国产人妻互换一区二区| 亚洲成a人片77777在线播放| 91精品久久久久久| 麻豆mv在线观看| 日韩在线观看av| 亚洲三级中文字幕| 欧美高清视频一二三区| 六月丁香婷婷综合| 亚洲欧美另类久久久精品| 三级黄色片网站| 国产自产高清不卡| 欧美成人免费高清视频| 欧美三级午夜理伦三级中文幕| 狠狠色狠狠色综合人人| 成人在线精品| 国产精品久久久久久久av电影 | 国产精品久久久久久av福利| 色婷婷视频在线观看| 亚洲天堂av在线免费| wwwav网站| 欧美日韩亚洲国产综合| 毛片毛片女人毛片毛片| 亚洲自拍偷拍欧美| 啪啪一区二区三区| 欧美国产综合一区二区| 捆绑裸体绳奴bdsm亚洲| 国产高清视频一区| 色噜噜狠狠永久免费| 视频一区二区三区中文字幕| 亚洲色欲久久久综合网东京热| 日韩理论电影大全| 日本黄网免费一区二区精品| 超碰97成人| 91麻豆蜜桃| 成人国产精品一区二区网站| 国产精品人成电影在线观看| 中文不卡1区2区3区| 久久久久久久久爱| 成人在线观看亚洲| 日韩在线视频国产| 午夜在线视频播放| 国产一区二区三区精品久久久| 特黄aaaaaaaaa真人毛片| 91精品欧美久久久久久动漫| 国产一区二区小视频| 欧美性视频一区二区三区| 国产www在线| 日韩欧美中文第一页| 国产 日韩 欧美 在线| 天天av天天翘天天综合网| 国产性生活网站| 一区二区三区四区不卡在线| 91杏吧porn蝌蚪| 国产欧美日韩在线视频| 人妻视频一区二区| 国产午夜精品一区二区三区嫩草 | 国产一区二区欧美| 欧美系列一区| 欧美禁忌电影| 日韩资源av在线| 日韩大片在线观看| 亚洲在线视频一区二区| 国产精品伦理久久久久久| 一区二区三区国| 欧美韩国一区| 国产美女主播在线| 夜夜夜久久久| 一本久道综合色婷婷五月| 日本不卡高清视频| 亚洲视频一二三四| 国产一区二区三区在线观看精品| 97免费公开视频| 99久久99久久精品国产片果冻| 成年人的黄色片| 久久精品免视看| 极品色av影院| 亚洲综合色噜噜狠狠| 国产成人愉拍精品久久| 一本久道中文字幕精品亚洲嫩| 中文字幕黄色片| 欧美日韩精品系列| 亚洲成人久久精品| 国产视频在线观看一区二区| 国产69精品久久app免费版| 中文字幕av一区二区| 草莓福利社区在线| 26uuu国产精品视频| 色成人免费网站| 97久草视频| 伊人春色之综合网| 天堂v在线视频| 亚洲国内精品| 538在线视频观看| 国产成人精品www牛牛影视| 亚洲精品在线视频免费观看| 国产日韩精品一区| 久久亚洲精品大全| 91官网在线免费观看| 国产三级在线观看视频| 精品亚洲永久免费精品 | 欧美精美视频| 欧美精品在欧美一区二区| 久久婷婷av| 免费啪视频在线观看| 国产日韩精品一区二区浪潮av| 欧美成人黄色网| 欧美在线制服丝袜| 日韩在线视频第一页| 色偷偷亚洲男人天堂| 大黄网站在线观看| 91精品在线播放| 国产欧美久久一区二区三区| 喜爱夜蒲2在线| 日韩1区2区日韩1区2区| 国产精品亚洲一区二区无码| 欧美国产综合色视频| 国产成人无码精品亚洲| 欧美另类变人与禽xxxxx| 天天干在线观看| 久久国产精品久久国产精品| 神马电影网我不卡| 国产精品二区三区四区| 99tv成人| 爱情岛论坛vip永久入口| av在线综合网| 深夜福利影院在线观看| 欧美视频在线观看一区| 日本国产在线| 久久欧美在线电影| 久久丁香四色| 宅男一区二区三区| 日韩成人免费看| 欧美熟妇一区二区| 岛国av一区二区在线在线观看| 99精品免费观看| 日韩在线免费观看视频| 成人免费网站www网站高清| 久久伊人资源站| 一本色道88久久加勒比精品| 波多野吉衣在线视频| 亚洲同性gay激情无套| 中文字幕欧美人妻精品一区蜜臀 | 欧美jizz18hd性欧美| 国产成人综合亚洲| 九九综合在线| 欧美日韩第二页| 久久久欧美精品sm网站| 国产毛片aaa| 日韩国产在线播放| 蜜桃麻豆av在线| 久久久久久亚洲精品不卡4k岛国| 伊人久久久大香线蕉综合直播| 日本一本在线视频| 一区二区欧美视频| 国产综合视频在线| 久久全国免费视频| 欧美日韩夜夜| 妺妺窝人体色www在线小说| 99久久免费视频.com| 亚洲一区 视频| 亚洲高清色综合| 国产在线看片免费视频在线观看| 国产一区二区三区av在线| 亚洲电影av| 狠狠人妻久久久久久综合蜜桃| 第一福利永久视频精品| 蜜桃视频在线入口www| 青草热久免费精品视频 | 特色特色大片在线| 丁香五精品蜜臀久久久久99网站 | 欧洲生活片亚洲生活在线观看| 韩国中文免费在线视频| 国产精品久久久久久久久久免费 | av首页在线观看| 在线a欧美视频| 亚洲美女色播| 97碰在线视频| 久久久蜜臀国产一区二区| 亚洲一区二区三区高清视频| 欧美巨大黑人极品精男| 国产精品zjzjzj在线观看| 日本黄色三级大片| 国产精品欧美久久久久无广告| 国产精品欧美激情在线| 欧美精品videos性欧美| 中文有码一区| 亚洲精品第三页| 香蕉乱码成人久久天堂爱免费| 日本1级在线| 91精品国产综合久久香蕉最新版| 国产综合久久| 少妇真人直播免费视频| 欧美精品电影在线播放| 高端美女服务在线视频播放| 日韩精品无码一区二区三区| 国产在线精品不卡| 日产亚洲一区二区三区| 在线精品高清中文字幕| 亚洲性视频在线| 99久久国产宗和精品1上映| 亚洲欧美另类小说| 可以免费看污视频的网站在线| 亚洲一区二区中文字幕| 亚洲欧美日韩一区在线观看| www.com.av| 日韩高清a**址| 精品麻豆剧传媒av国产九九九| 香港三级韩国三级日本三级| 中文字幕一区视频| 日韩精品福利| 99在线观看视频| 免费在线观看视频一区|