天天看點

Qt按鈕添加菜單

一、前言

  Qt中給某個按鈕添加菜單有多種方式,可以左鍵點選彈出菜單,也可以通過綁定customContextMenuRequested(const QPoint&)信号,使用CustomContextMenu方式右鍵彈出菜單;

本人在使用左鍵彈出菜單時,發現會有下拉三角,影響美觀,故整理了下去除下拉三角的方法

二、去除按鈕設定菜單後的下拉三角

  1、采用樣式去除(缺點:下拉三角被隐藏,但依舊會占空間,文本不居中)

  //不顯示圖檔

  m_PushButton->setStyleSheet("QPushButton::menu-indicator{image:none;}");

  2、采用槽函數,手動顯示Menu方式

  思路:即綁定按鈕的槽函數,在槽函數中建立QMenu,并設定位置,然後顯示菜單

  1)構造時建立顯示菜單

Qt按鈕添加菜單
Qt按鈕添加菜單

構造時建立菜單

  2)槽函數中計算顯示位置

Qt按鈕添加菜單
Qt按鈕添加菜單

顯示位置計算

  3、運作效果

  從左到右,依次為理想效果,有下拉三角效果,去三角效果

  

Qt按鈕添加菜單

繼續閱讀