成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Qt Quick簡單學習教程

移動開發
Qt Quick 包含 QtDeclarative C++ 模塊, QML(Qt Meta-Object Language),以及它們集成到Qt Creator IDE中的部分。

Qt Quick是本文要介紹的內容,主要是來了解Qt Quick的應用。Qt Quick (Qt User Interface Creation Kit)是一種高級用戶界面技術,開發人員和設計人員可用它協同創建動畫觸摸式用戶界面和應用程序。Qt Quick 包含 QtDeclarative C++ 模塊, QML(Qt Meta-Object Language),以及它們集成到Qt Creator IDE中的部分。在Qt應用程序中通過使用QtDeclarativeC++模塊,程序可以方便地和QML文件進行交互。

QML是一種描述性的腳本語言,文件格式以.qml結尾。語法格式非常像CSS(參考后文具體例子),但又支持javacript形式的編程控制。它結合了QtDesigner UI和QtScript的優點。QtDesigner可以設計出.ui界面文件,但是不支

持和Qt原生C++代碼的交互。QtScript可以和Qt原生代碼進行交互,但是有一個缺點,如果要在腳本中創建一個繼承于QObject的圖形對象非常不方便,只能在Qt代碼中創建圖形對象,然后從QtScript中進行訪問。而QML可以在

腳本里創建圖形對象,并且支持各種圖形特效,以及狀態機等,同時又能跟Qt寫的C++代碼進行方便的交互,使用起來非常方便。

在Qt C++文件中通過QDeclarativeView加載,就像使用UiLoader加載.ui文件一樣。

使用 Qt 做過 UI 后一定對 QHBoxLayout, QVBoxLayout, 和 QGridLayout 這三個最重要也最常使用的 layout managers 非常熟悉。
在 QML 中使用下列三種布局管理器:Row,、Column、Grid,以及使用 Anchor 進行布局。

QML 中的 Row 元素會將其子控件都排列在同一行,相互不重疊。我們還可以使用它的 spacing 屬性來定義子控件之間的距離。

QML 中的 Column 元素會將其子控件都排列在同一行,相互不重疊。我們可以使用它的 spacing 屬性來定義子控件之間的距離。

QML 中的 Grid 元素會將其子控件都均勻地排列在一個網格內,相互不重疊,每一個子控件都被放置在一個網格單元的(0,0)位置,也就是左上角。Grid的 rows 和 columns 屬性定義網格的行數和列數,列數默認是4。我們還可以使用 Grid 的spacing 屬性來定義網格單元之間的距離,這里注意水平和垂直方向的 spacing 都是一樣的。

Anchor

每一個 item 都可以被認為具有 7 條隱藏的“anchor lines":left、 horizontalCenter、 right、 top、 verticalCenter、baseline、以及 bottom

其中 baseline 是指的文本所在的線,如果 item 沒有文字的話 baselinw 就和 top 的位置是相同的。除此之外,Anchor 系統還提供了margins 和 offsets。margins 是指一個 item 和外界之間所留有的空間,而 offsets 則可以通過使用 center anchor lines 來進行布局。

在Qt C++文件中通過QDeclarativeView加載,就像使用UiLoader加載.ui文件一樣。

Item類是QML最基礎的類

組件其實和其它編程語言中的宏,函數,類,結構體等功能差不多,就是代碼復用。

組件由一個單獨的QML文件名組成,文件名總是以大寫字母開頭,要使用該組件的時候直接使用該文件名就可以了。Item是最常使用的QML類型,一般用作其它類型的容器,可以理解成最頂級的父類,功能類似于QtGui中的QWidget。

MouseArea則為Item增加了一塊鼠標響應區,在鼠標活動區,都能偵聽到鼠標事件。

onClicked那一行則相當于為鼠標單擊事件增加了一個處理行為

Component的語法規則,如果你在Cell.qml里定義的是clicked(),那么你在main.qml中引用的時候就該用onClicked()了。 然后由“when”指 定了什么時候觸發這個狀態PropertyChanges則指定了哪個元素的哪些屬性會發生什么樣的變化。

transitions 是用于增加動畫效果的

“from”和”to”指明了當前的動畫作用于哪兩個狀態變化之間。 “from”和”to”的參數名來自于State中的”name”屬性。

ParalleAnimation則指定了有多個 有多個動畫并行發生。NumberAnimation用于qreal類型的屬性變化,ColorAnimation則用于顏色變化。

小結:Qt Quick簡單學習教程的內容介紹完了,希望通過本文的學習能對你有所幫助!

責任編輯:zhaolei 來源: 互聯網
相關推薦

2011-08-30 15:49:03

QtQuick

2011-06-10 11:24:08

Qt Quick Designer

2011-08-30 12:59:52

Qt數據庫

2011-07-04 11:21:59

QT Designer

2011-07-01 14:39:08

Qt Quick

2011-03-11 14:43:41

Qt-QuickQML

2011-06-20 13:23:03

Qt Quick QML

2011-06-10 11:05:05

Qt Quick QML

2011-06-20 13:05:53

Qt 4.7 Qt Quick

2011-08-30 16:08:24

Qt4.7Qt Quick

2011-03-03 15:32:51

Qt-Quick

2011-09-07 16:28:46

QT WidgetQWidget

2011-05-16 14:12:30

QuickWidgetQML

2011-06-24 17:22:29

Qt Quick QML

2011-09-01 16:01:25

Qt插件

2011-02-14 09:18:06

QT-Quick

2011-06-16 15:36:56

Qt Quick Symbian

2010-08-02 10:50:55

Flex3

2011-06-27 12:56:28

2011-07-08 16:46:21

QtQuick 1.0Symbian
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲国产精品区 | 国产三级在线观看播放 | 精品中文在线 | 免费黄色av | 欧美国产在线一区 | 99tv| 欧美日本韩国一区二区三区 | 久久久精品 | 久久久久久久夜 | 中文字幕一区二区三 | 国产一区二区三区久久 | 高清av一区 | 成人精品福利 | 亚洲精品成人网 | 日韩区| 手机在线观看 | 亚洲视频二区 | 欧美日韩电影一区二区 | 午夜一区 | 国产一区二区三区四区五区加勒比 | 日一区二区 | 天天天天操 | 青青久久 | 国产精久久久久久 | 美女天天干天天操 | 亚洲综合无码一区二区 | 中文字幕亚洲免费 | 亚洲午夜精品一区二区三区他趣 | 国产免费又色又爽又黄在线观看 | 一区二区三区亚洲 | 国产精品久久久久久久久免费丝袜 | 超碰97av| 亚洲免费视频在线观看 | www.日韩av.com| 不卡一区二区在线观看 | 国产精品免费在线 | 久久新视频 | 国产午夜久久久 | 91亚洲精品国偷拍自产在线观看 | 色综合一区二区三区 | 亚洲天堂网站 |