1. 程式人生 > >Qt Quick應用開發介紹 9(互動式UI)

Qt Quick應用開發介紹 9(互動式UI)

Chapter9 Interactive UI with Multiple Top-Level Windows 多個頂層視窗下的互動式UI

現在我們的程式需要新增一些方法來變得適合日常工作中的重用; 首先要有個button來退出; 其次, 要有top-level視窗來管理配置; 使用者修改配置時, 程式應該檢查變動, 讓使用者知道改動是否正確; 

9.1 A Button

button用來退出程式, 開啟視窗, 關閉視窗等; button應該有基本的視覺化引數, 並且在點選時傳送訊號; button在接收到使用者的輸入後應該提供視覺化的反饋; 一個button一般可以有多個特性; 有許多方式來實現一個button, 這裡就描述一個適合我們需求的方式;

我們的button可以是一個簡單的點選相應的有圓角的rectange; 前文中看到的element可以接受滑鼠事件, 使得滑鼠事件填充到整個元素的表面; 另外, 我們的button必須emit傳送一個訊號通知相關的程式部件告知點選事件; 我們需要使用QtQuick訊號來實現; 

之前已經看到過QtQuick的方法, 來實現一個handler處理屬性變化; 

1 2 3 4 5 6 7 8 9 Image { id: background source: "../content/resources/background.png"
fillMode: "Tile" anchors.fill: parent onStatusChanged: if (background.status == Image.Error) console.log("Background image \"" + source + "\" cannot be loaded")                                    }

訊號和屬性變化通知很像; Signal handler工作起來也是一樣, item顯式地emit一個訊號, 代替porperty change; Signal handler也可以接受訊號引數, 和property change的handler不同, emit一個訊號是一個方法的呼叫;

e.g. utils/Button.qml

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 Rectangle { id: root property string text: "Button" color: "transparent" width: label.width + 15 height: label.height + 10

相關推薦

Qt Quick應用開發介紹 9(互動式UI)

Chapter9 Interactive UI with Multiple Top-Level Windows 多個頂層視窗下的互動式UI 現在我們的程式需要新增一些方法來變得適合日常工作中的重用; 首先要有個button來退出; 其次, 要有top-lev

Qt移動應用開發(四):應用粒子特效

ons -i 遊戲 direct mit class png pop 狀態 Qt移動應用開發(四):應用粒子特效 上一篇文章介紹了Qt Quick是如何對幀動畫進行支持的。幀動畫的實現離不開狀態機、而狀態機、動畫和狀態切換(transition

安卓應用開發(4)UI設計

由於Google是官方,所以本系列內容全部是掛外網,請參考者注意。如若打不開,請使用vpn。 Google官方教程 https://developer.android.com/training/basics/firstapp/creating-project 本章參考: http

Qt on Android 讓 Qt Widgets 和 Qt Quick 應用全屏顯示

                    Android 系統版本很多,較新的 4.4 ,較老的 2.3 ,都有人用。 Qt on Android 開發的 Android 應用,預設在 Android 裝置上是非全屏的。而有些應用的需求是全屏顯示,比如遊戲。那麼怎麼樣才能做到這點呢?    我們需要分 Andr

Qt移動應用開發(三):使用精靈圖片實現幀動畫

       上一篇博文講到了Qt Quick對於動畫的一般支援,動畫的形式多樣,配合不同的插值函式,可以幾乎實現所有想要的動畫效果,而對於遊戲的一些特殊的效果比如說幀動畫,Qt更是有專門的類來實現。下面我們就來看看Qt Quick中究竟是對幀動畫是如何實現的吧。 原

QtQuick桌面應用開發指導 3)實現UI和功能_B 4)動態管理Note物件_A

3.2 把Page Item和Marker Item繫結 之前我們實現了PagePanel元件, 使用了三個state來切換Page元件的opacity屬性; 這一步我們會使用Marker和MarkerPanel元件來實現頁面導航;  在原型階段,

Modbus協議和應用開發介紹

因業務需要了解Modbus協議的使用,因此對Modbus的協議,以及相應的C#處理應用進行了解,針對協議的幾種方式(RTU、ASCII、TCPIP)進行了封裝,以及對Modbus的各種功能碼的特點進行了詳細的瞭解,本篇隨筆基於這些知識進行了一定的梳理和介紹,主要內容包括Modbus協議簡要介紹、Modbus模

Spring Security應用開發(10) 並發控制之基本介紹

authorize 失效 session report 表示 container 頁面 屬性 ren 同一個用戶使用不同的瀏覽器登錄,將會導致什麽結果呢?Spring Security提供了多種選項。 <!-- session管理 --> <

qt-qml移動開發之在ios上開發和部署app流程簡單介紹

mod target auto 100% rda 自己 color ans ora qt5.3已經全面支持移動開發,除了mac,windows,linux。還支持ios,android,wp,meego等移動平臺,本教程是作者依據自己的經驗,從頭講怎麽樣在ios上公布

【Android 應用開發】 ActionBar 樣式具體解釋 -- 樣式 主題 簡單介紹 Actionbar 的 icon logo 標題 菜單樣式改動

detail sub str 進度條 代碼分析 extc dst 模式 html 作者 : 萬境絕塵 ([email protected]/* */)轉載請著名出處 : http://blog.csdn.net/shulianghan/article/deta

Qt Quick 簡單介紹

asc data- 表達 -m 方便 用戶界面 設備 open api Qt Quick 是 Qt 提供的一種高級用戶界面技術。使用它可輕松地為移動和嵌入式設備創建流暢的用戶界面。在 Android 設備上, Qt Quick 應用默認使用 OpenGL ES ,

iOS 9應用開發教程之ios9中實現button的響應

ins color cto div eve class sub avi src iOS 9應用開發教程之ios9中實現button的響應 IOS9實現button的響應 button主要是實現用戶交互的。即實現響應。button實現響應的方式能夠依據

【Win 10 應用開發UI Composition 劄記(三):與 XAML 集成

單獨使用 切換 column gif 頂部 tel border 靜態 ons 除了 DirectX 遊戲開發,我們一般很少單獨使用 UI Composition ,因此,與 XAML 互動並集成是必然結果。這樣能夠把兩者的優勢混合使用,讓UI布局能夠更靈活。 說到與 X

【Win 10 應用開發UI Composition 劄記(四):繪制圖形

圖形 package 記得 aml 3.5 平時 surf 繪圖 str 使用 Win 2D 組件,就可以很輕松地繪制各種圖形,哪怕你沒有 D2D 相關基礎,也不必寫很復雜的 C++ 代碼。 先來說說如何獲取 Win 2D 組件。很簡單,創建 UWP 應用項目後,你打開&

【Win 10 應用開發UI Composition 劄記(五):燈光

傳播 目標 spa 速度 review sta sset ext 集合 UI Composition 除了能夠為 UI 元素建立三維空間外,還有相當重要的一個部件——燈光。宇宙萬物的精彩繽紛,皆源於光明,光,使我們看到各種東西,除了黑洞之外的世界都是

【Win 10 應用開發UI Composition 劄記(六):動畫

onclick 相對 行修改 log review asset 是你 express iteration 動畫在 XAML 中也有,而且基本上與 WPF 中的用法一樣。不過,在 UWP 中,動畫還有一種表現方式—— 通過 UI Composition

【Win 10 應用開發UI Composition 劄記(七):基於表達式的動畫

eat seconds fin ima 旋轉 range align 綁定 true 上一篇爛文中,老周給大夥伴們介紹過了幾個比較好玩的動畫。本篇咱們深化主題,說一說基於表達式的動畫。這名字好理解,就是你可以用公式 / 等式來產生動畫的目標值。比如,你想讓某個可視化對象的高

9 章 網絡應用開發

style python語言 開發網站 支持 跨平臺 開發網頁 網頁爬蟲 Go 標準庫   Socket是計算機之間進行網絡通信的一套接口程序,目前已經成為網絡編程的標準,可以實現跨平臺的數據傳輸。Socket相當於在發送端和接收端之間建立了一個管道來實現數據和命令的相互傳

開發筆記9 | 部署 Java 應用程式到阿里雲 EDAS

前言 在之前的一篇文章中,我們介紹了 如何將一個本地的 Java 應用程式直接部署到阿里雲 EDAS ,有不少讀者反饋,如果目前已經在使用阿里雲 EDAS 了,那該如何配合這個外掛部署應用呢?在本文中,我們來介紹 部署 Java 應用程式到阿里雲 EDAS。 關於 EDAS EDAS 是一個圍繞應用和微

[QtQt Quick開發實戰精解] 第1章 多文件編輯器

  這一章的例子是對《Qt Creator快速人門》基礎應用篇各章節知識的綜合應用, 也是一個規範的例項程式。之所以說其規範,是因為在這個程式中,我們對選單什麼時候可用/什麼時候不可用、關閉程式時應該先儲存已修改且尚未儲存的檔案等細節都做了嚴格的約束。而一個真正實用的應用程式,也就應該如此。   本章應用了