2013-04-14 50 views
0

在Microsoft Word中,如果你想使用項目符號,你有一個組合框(如果我們可以稱它爲組合框)來選擇項目符號的形狀(通過點擊小三角形),或者你可以應用默認的項目點擊組合框的按鈕。Qt是否有像Word這樣的組合框?

enter image description here

其實在Word中的組合框有兩個部分。舉一個例子,讓我們考慮一個情況,我想在Qt的一個組合框,有這些項目,如菜單項: 「重新啓動」「關機」「註銷」。用戶需要選擇其中一個,但他也可以通過點擊其開始中與Windows關機菜單完全相同的按鈕來應用先前選擇的項目。您可以點擊關閉或選擇其他選項。

enter image description here

我們如何能夠在Qt中實現這一目標?

回答

3

如果您追尋的是類似於第二張圖片的菜單,則可以使用QToolButton來實現目標。使用QToolButton並將popupMode設置爲MenuButtonPopup。它會呈現一個類似於以下的控件。

enter image description here

然後你可以風格的外觀&感覺進一步使用Qt Style Sheets。閱讀關於how to style a QToolButton.

這個例子創建QMenu動態,這樣你就可以在運行時在這樣的所有項目將被列入除了默認的項目菜單的方式將其連接到QToolButton。默認操作必須分配給QToolButton本身。

您可以使用void QToolButton::setMenu (QMenu * menu)在運行時爲您的QToolButton分配QMenu

如果您試圖設計一個在您的第一張截圖中的控件,您將不得不創建一個自定義的Qt控件。沒有可用的默認控制,這可以產生看起來&開箱即用。

+0

作爲後續操作,OP所使用的控件依賴於彈出框的Ribbon框架。由於功能區框架不是跨平臺的,Qt不支持它。 –

相關問題