<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 汽車電子 > 設計應用 > QT平臺下基于XML的界面設計與管理(上)

          QT平臺下基于XML的界面設計與管理(上)

          作者:周珊珊 劉高高 時間:2017-02-24 來源:電子產(chǎn)品世界 收藏

          1  引言
               用戶界面是軟件系統(tǒng)的重要組成部分,是對軟件的人 機交互、操作邏輯、界面美觀的整體設計,是系統(tǒng)和用戶之 間進行交互和信息交換的媒介,它實現(xiàn)信息的內(nèi)部形式與人 類可以接受的形式之間的轉(zhuǎn)換。是一個完整的應用程序 開發(fā)框架,它包括一個類庫和一些跨平臺、國際化的工具, 以其強大的功能、良好的可移植性逐漸成為一種被廣泛使 用的GUI系統(tǒng),它提供給應用程序開發(fā)者建立藝術級的圖形 用戶界面所需的所有功能。本文所描述軟件是在平臺下 開發(fā)實現(xiàn)的,為了提高軟件用戶界面的擴展性和界面開發(fā)的 效率,使軟件的最終用戶也可以通過工具對界面進行修改和 定制,本文提出了基于可擴展標記語言(eXtensible Markup Language,)的用戶界面方案,并開發(fā)出相應的界面管 理系統(tǒng)。

          2 界面生成理論基礎
          2.1 界面生成技術
          是一種在互聯(lián)網(wǎng)上保存和傳遞信息的語言,以其 結構化、可擴展、靈活等特點廣泛流行。XML有著極其靈 活的語法,能夠描述各種類型的信息。平臺無關性使其成為 跨平臺數(shù)據(jù)表示和交換的標準。XML的文檔結構特別適合 存儲界面模版的樹形結構,各種元素、屬性、注釋等構成了 XML文件的基本組件,XML文檔基本上可以限定為一棵特 殊的文本化的樹,因此以XML文檔結構樹的形式容易實現(xiàn) 界面模版的可視化處理?;赬ML的界面設計生成技術涉 及到界面所描述的XML文檔、界面組件事件監(jiān)聽類、界面 生成器、編程語言的組件庫和界面定制工具。本文提供的軟件界面是在平臺下構建的,要在此環(huán)境下利用XML技術生成一個界面,首先要提供界面描述XML文檔和界面組件事件監(jiān)聽類。界面描述XML文檔使用XML描述界面上所有 組件及其屬性,包括名稱、大小、位置、布局以及與之相對 應的事件監(jiān)聽類等。界面描述XML文檔可以用XML編輯器 來編寫,也可以從其他的數(shù)據(jù)源自動生成。界面組件事件監(jiān) 聽類負責監(jiān)聽并且處理對應界面描述XML文檔中組件的事 件,比如按鈕事件、點擊事件等,由組件事件引發(fā)的一系 列操作都由該類來實現(xiàn)。在界面描述XML文檔的解析過程 中,界面生成器會根據(jù)文檔中的組件事件屬性值加載進來, 按照觸發(fā)執(zhí)行其定義的操作。
          具體操作為,在軟件啟動時,先讀取界面信息,然后 根據(jù)界面信息生成圖形用戶界面。XML是一門新興的、面 向Internet應用的標記語言,它是由W3C(World Wide Web Consortium)組織在1998年制定的一種通用語言規(guī)范。XML 既 是 標 準 通 用 標 記 語 言 ( S G M L ) 的 一 個 子 集 , 也 是 對 SGML的一種改良。使用XML作為界面配置文件的原因主要 基于以下幾點:
          1 ) X M L 語 法 嚴 格 , 格 式 靈 活 , 具 有 良 好 的 擴 展 性 和 自 描 述 性 , 所 描 述 的 形 式 與 內(nèi) 容 相 分 離 , 便 于 對 界 面 元 素 的 描 述 進 行擴展;
          2)XML存儲的格式 簡 單 、 是 能 夠 使 用 任 何 文 本 編 輯 器 讀 寫的 純 文 本 , 用 戶 即 使

          本文引用地址:http://www.ex-cimer.com/article/201702/344431.htm

          圖1  界面生成流程圖

          圖2  XML參數(shù)配置(a)

          圖3  XML參數(shù)配置(b)
          沒有配套的可視化界面編輯工具,也可以用一個簡單的文本 編輯軟件實現(xiàn)對用戶界面的配置;
          3)XML規(guī)范中提供了對多語種的支持,包括UTF-7、
          UTF-8、UNI C0、GB23I2(簡體中文)、BIG5(繁體中文) 等,這一特點使得XML 非常有利于存儲和管理多語言用戶 界面,可以很容易地實現(xiàn)軟件的國際化和本地化;
          4)XML可以應用于Windows、Linux、Unix、Mac等多 種 平 臺 上 , 因 此 使 用 X M L 存 儲界面信息,可實現(xiàn)跨平臺異
          構應用程序之間的界面信息共 享;
          5) XML的樹狀存儲結構
          便于實現(xiàn)基于語義的智能數(shù)據(jù) 搜索,當軟件界面數(shù)據(jù)量非常 大時,可以實現(xiàn)對界面信息的 快速查詢和數(shù)據(jù)提取。
          2.2 pugixml庫介紹

          圖4   XML生成界面
          pugi xml是一個XML操作庫, 能解析XML內(nèi)容, 它有 以下幾點優(yōu)勢: 輕量, 只有三個文件; 支持Unicode; 支 持X PATH解析; 速度快, 僅比R apid Xml慢一些; 跨平臺
          (windows/linux);面向?qū)ο蟆?br />和其他XML庫相比,pugixml優(yōu)勢顯而易見:
          1)支持字符集:tinyxml不支持unicode(這是很多人不 愿意用tinyxml的原因之一),pugixml支持UTF8 encoding、 Little-endian UTF16、Big-endian UTF16、UTF16 with native en d i an n es s 、 L i tt l e - en d i anU T F 3 2 、 Big- en d i an U T F 3 2 和 UTF32with native endianness。
          2)操作XML文件的性能如表1所示(105頁)。
          3)使用的方便性。雖然pugixml和tinyxml都是基于面向 對象的,但pugixml的使用方便性遠勝tinyxml。比如在查找 節(jié)點的屬性值方面,Tinyxml需要調(diào)用者從根節(jié)點開始查找
          (使用TiXmlElement類),然后遞歸找下去,找到后取出屬 性值。而pugixml使用一個child函數(shù)封裝了查找節(jié)點功能。(未完待續(xù))



          關鍵詞: QT XML

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();