我最近開始使用某種形式的聲明性語言開始有關GUI構建的項目。我的意思是我需要描述對象的層次結構,而不指定將用於「顯示」該層次結構的GUI小部件的類型。例如,對於一些現有的層次結構ħ,使用JSON符號(或類似的東西):GUI聲明式語言實現
H =
{
"title" : "Label_1"
"children" :
[
{
"title" : "Label_2"
"children":
[
{
"title": "Field_A"
"type": "Integer"
"value": 10
},
{
"title": "Field_B"
"type": "String"
"value": "YES"
}
]
}
]
}
有人可能會建立一個簡單的窗口,這將可以通過按下標記爲「Label_1」的按鈕顯示給用戶。該窗口然後可以標題爲「Label_2」 並且具有分別標記爲「Field_A」和「Field_B」的字段分別接受整數和布爾值 值。
別人,可以把一個目錄樹在這個層次,e.g
--------------------------------------------------------
>Label_1 |
>Label_2 |
>Field_A | 10
>Field_B | YES
我的第一個問題是,好了,我一定要建立某種形式的語言分析器來實現這樣的事情?我可以使用JSON嗎?雖然我不需要支持複雜的層次結構,但需要支持互斥的層次結構(如單選按鈕啓用/禁用選項)。我有這樣的感覺,它看起來像一些形式的語言解析與幾個運營商。不要誤會我的意思,我是機械工程背景的人,我不是一個有經驗的程序員。
非常感謝您的意見和幫助。
所以,我想我正朝着正確的方向前進。謝謝。 – GiFou 2010-02-27 20:45:17
嘿,如果是關於聲明性/ C++/ui爲什麼沒有「http://labs.trolltech.com/blogs/2009/05/13/qt-declarative-ui/」出現在任何人的腦海中? – mlvljr 2010-02-28 08:01:54
* amn that closing'''!那麼http://qt.nokia.com/doc/qml-snapshot/declarativeui.html? – mlvljr 2010-02-28 14:59:11