2016-07-06 87 views
0

我想弄清楚如何添加一個自定義小部件到Qt設計器。到目前爲止,我一直沒有成功。 Qt非常新。我正在運行Qt 4.8.6。我知道有一個更新的版本,但由於項目的限制,我必須堅持這一個。基本上我需要添加一個十六進制旋轉框,即一個以十六進制數而非十進制數進行計數的旋轉盒。我甚至找到了code that implements it。它確實解釋了how to integrate it into Qt Designer,但它解釋爲版本3.有人可以提供幫助嗎?如何添加一個自定義小部件到Qt 4.8.6

任何幫助是極大的讚賞

+0

這是所有記錄,並在Qt 4附帶的文檔中有示例。 –

回答

0

Here是一個文檔。簡而言之,您只需在窗體中添加任何窗口小部件(例如QSpinBox以在設計器中繪製它),然後將其轉換爲所需的窗體。

0

要自定義小工具添加到Qt的設計師只需按照以下步驟:

  1. 在Qt Designer中創建一個新的Widget文件 - >新建 - >窗口小部件。
  2. 添加您的UI等,爲這個小部件,並將其保存 - > - > MyWidget.ui
  3. 創建一個類「MyWidgetHandler」在MyWidgetHandler.h來處理這個小部件& CPP
  4. 在你的主窗口/對話框哪裏你想顯示這個小部件,從設計器的「容器」部分添加一個「小部件」。

    enter image description here

  5. 現在右鍵單擊您剛纔添加的「微件」容器,然後單擊「升級爲...」

  6. 這將打開一個對話框。你可以在這裏選擇基類繼承你的情況下的屬性QComboBox或者只選擇QWidget類。
  7. 接下來輸入完整的類名,即命名空間例如:「blah :: MyWidgetHandler」
  8. 在Header文件部分,只需將該路徑添加到該類的頭文件即可。這應該是可以解決的路徑。如:「UI/MyWidgetHandler.h」或「C:/UI/MyWidgetHandler.h」
  9. 現在點擊「升級」並保存MainWindow.ui
  10. 屬性編輯器現在應該顯示您的自定義類的類型如:胡說:: MyWidgetHandler。以及您選擇的基類中的屬性。
  11. 不要忘記在處理程序類中設置UI,並在主窗口處理程序中包含標題。

乾杯!

+0

如果我的用戶界面與QSpinBox完全相同,該怎麼辦?我該如何解決它? – flashburn

+0

在這種情況下: - 跳過第1步和第2步 - 在第3步中,myWidgetHandler應該從QSpinBox派生。 - 您可以根據需要重寫QSpinbox方法。 - 請記住,在主要的UI處理程序中,可以通過對象名稱調用此自定義類,請參閱原始答案中第10點中的附加圖像。 – Zaid

相關問題