最開(kāi)始想出的標(biāo)題是《Declarative C++ GUI庫(kù)》,但太標(biāo)題黨了。只寫(xiě)了兩行代碼,連Demo都算不上,怎么能叫庫(kù)呢……后來(lái)想換掉“庫(kù)”這個(gè)字,但始終找不到合適詞來(lái)替換。最后還是起了個(gè)low一點(diǎn)的名字,賤名好養(yǎng)活?。?/p>
這篇文章的目的是介紹如何只用C++寫(xiě)出帶有Declarative風(fēng)格的代碼。有一些GUI庫(kù)需要額外的預(yù)處理過(guò)程(比如qt),還有一些也支持XML格式的GUI聲明,但需要運(yùn)行時(shí)Parse那個(gè)XML(比如wxWidgets)。能不能只用一個(gè)C++編譯器、不要運(yùn)行時(shí)Parse新語(yǔ)言來(lái)搞定這個(gè)問(wèn)題?
直觀地看上去,QML語(yǔ)法跟C++好像還有幾分像,就選擇QML進(jìn)行借(chao)鑒(xi)吧。 最終的代碼放在了 dontpanic92/yz ,代碼與文章一同食用味道更佳。
目標(biāo)
代碼不應(yīng)該需要額外程序進(jìn)行處理
不要另做一套語(yǔ)法,然后運(yùn)行時(shí)Parse
盡量保留類型
QML示例
一個(gè)簡(jiǎn)單的QML大概長(zhǎng)這個(gè)樣子:
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動(dòng)安全 [無(wú)線安全]玩轉(zhuǎn)無(wú)線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊(duì)列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識(shí)別反義詞同義詞 2017-07-26
- 從棧不平衡問(wèn)題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動(dòng)安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來(lái)看看(二) 2017-07-26