Qt 按鈕選單如何與按鈕右邊界對齊,並去掉下拉箭頭

2021-08-14 08:43:27 字數 1237 閱讀 3492

寫了個按鈕選單,出來效果是這樣的:

但實際想要的是這樣的:

具體怎麼實現呢?下面來寫個測試程式試一下。

menubutton

=new

qpushbutton(this);

createmenu();
menubutton->setmenu(menu);

mainlayout

=new

qhboxlayout(this);

mainlayout->addwidget(menubutton);

執行如下:

可是怎麼能達到想要的效果呢?其實簡單:

只需要給qmenu新增eventfilter,在eventfilter方法裡計算出menu需要出現的位置。

**如下:

menu->installeventfilter(this)

bool

menutest::eventfilter

(qobject

*obj,

qevent

*event)

return

false;

}

執行如下:

選單位置正確了,但還有個三角仍需去掉。下面只需在 *.qss 檔案中新增

qpushbutton#menubutton

:menu-indicator

或者:menubutton->setstylesheet("qpushbutton::menu-indicator");

最終效果如下:

QT 放大與縮小按鈕

標頭檔案 painttest.h ifndef painttest h define painttest h include include class painttest public qwidget endif painttest hpainttest.cpp include painttest...

vc 如何對radio按鈕分組

如何使用多組?多組和一組是一樣的使用,只要搞清楚哪個是哪一組的就行了。再為對話方塊新增radio3和radio4。很簡單,先為這些radiobutton排個順序,就是排列他們的taborder。在對話方塊資源面板上ctrl d,然後按你自己的理想順序用滑鼠逐個點選就可以了。不妨假設radio1 ra...

建立自定義的選單與按鈕

基於許可權控制的考慮,在整個後台的開發中,選單和按鈕是可以被自定義的,也就是說 1 每開發乙個頁面,就需要在系統管理的 選單管理 中進行設定 2 每個頁面中的按鈕,也是在 選單管理 中的設定按鈕部分進行設定 具體步驟如下 一 建立頁面與選單的對應管理 比如,現在我們建立了乙個頁面,該頁面使用者展示頁...