2012-05-07 172 views
2

我是QT新手,實際上我還沒有開始,但我打算從QT用戶界面創建一個xml文件(標記和節點以及所有內容)。QT小部件與QT GUI

例如,用戶可以在我的界面文本字段中找到他可以插入員工姓名,ID和年齡的位置,我的程序會將其轉換爲我的輸出xml文件中具有其屬性名稱,ID,年齡的員工節點。所以,因爲我用C++編碼,我想創建這個接口作爲QT GUI,但我發現QT創建者提供了一個名爲QT Widget的項目,它具有相同的選項。

所以我現在有點困惑,我不知道他們之間有什麼區別,所以我可以選擇。 我會感謝任何人的幫助。

回答

2

如果我已經正確理解你的問題:Qt Widget是一個小元素,gui中的許多項目之一(按鈕,組合框都是小部件)。 Qt Widget項目類型用於創建一個,您可以在單獨的項目界面中使用它。

Qt Gui更可能是您想要的項目類型,這將允許您拖動很多小部件來創建「界面文本字段」。

如果您需要進行更高級的自定義或創建自己的文本字段控件,則需要使用Qt Widget項目類型。

+0

我不認爲這是他們的意思。在Qt Creator的「Create Project」對話框中,有一個名爲Qt Widget Project的類別,它有「Qt Gui Application」和「Mobile Qt Application」作爲選項。另一個類別是「Qt Quick Project」,我猜他們正在問。如果你想要一個基於QWidget的項目,你可以在Qt GUI應用程序嚮導中選擇它作爲基類,但我認爲他們甚至沒有那麼遠... – teukkam

+0

謝謝我想我會去做一個Widget項目 - 「Qt Gui應用程序」與QML編碼相比,聽起來更簡單,錯誤更少! – Glolita

3

你是指Qt Quick還是Qt Widgets?

Qt Quick是一種更新的Qt GUI,它是從稱爲QML的聲明性標記語言創建的。 QML源代碼在運行時被解釋,而Qt Widgets則是從C++源代碼編譯成本地可執行代碼的。除了QML之外,Qt Quick還使用內聯Javascript爲UI編寫腳本,但它可以(通常是)從C++接口進行更復雜的處理。編輯:Qt Quick也非常強調觸摸(至少在當前狀態),而Qt Widget GUI提供了更豐富的UI元素集。因此,如果您正在製作桌面應用程序,則可能需要單獨離開Qt Quick。

+0

所以QML就像DotNET中的XAML語言,我可以使用它來與輸入組件綁定數據,所以對於初學者來說,真的推薦以QML開始? – Glolita

+0

以某種方式它是相似的。但QML比XAML更有限。 XAML實際上可能更接近Qt的.ui文件。它們是用於存儲在Qt Designer中創建的表單的XML文件,通常不是直接手動操作。 Qt Creator甚至不允許您編輯.ui文件,除了在Qt Designer中。 – teukkam

+1

查看QML組件列表:http://doc.qt.nokia.com/4.7-snapshot/qdeclarativeelements.html如果您認爲這些組件適合您的需求,請務必使用它。例如,您可以在使用Qt Designer製作的GUI中始終嵌入QML元素。舉個具體的例子,Qt中沒有直接的「按鈕」元素。相反,您只需要將一些圖形元素(例如Rectangle或Image)與MouseArea結合使用,並使其表現得像一個按鈕。 – teukkam