QPushButton 自定义下拉菜单,不使用setMuen()接口

原创 2015年07月09日 21:48:14

由于使用setMent()接口,按钮的下拉菜单出现时,同时按钮会有倒三角型的标志出现。 因此琢磨了一段时间,自定义下拉菜单。


头文件定义:

class MenuButton :Public QPushButton

{

public:

MenuButton(QString name = QString(), QWidget * parent = NULL);

pretect:

virtual void resizeEvent(QResizeEvent *event); 

virtual void mousePressEvent ( QMouseEvent * e ); //单击事件


private:

QMenu *menu;


源文件:

virtual void resizeEvent(QResizeEvent *event)

{

menu->setFixedWidth(event->size().width()); ///菜单宽度与按钮保持一致

}


virtual void mousePressEvent ( QMouseEvent * e )

{

/*****核心代码*******/

QPoint pos;

pos.setY(this->geometry().height());

menu->exec(this->mapToGlobal(pos));  //设置菜单出现的位置, 在按钮的正下方出现

}


我也是经过许多尝试,才弄出来的,希望对你们有用。


效果图:



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

android popwindow使用(实现自定义下拉菜单)

public class MainActivity extends Activity { PopupWindow popupWindow; ListView lv; List list; @O...

自定义下拉菜单 PopupWindow

  • 2016年04月27日 09:19
  • 6.6MB
  • 下载

Android自定义下拉菜单示例

  • 2015年08月30日 09:18
  • 1.44MB
  • 下载

Android自定义控件:仿美团下拉菜单及相关代码优化

最近的项目中用到了类似美团中的下拉多选菜单,在实际开发过程中,也发现了一些问题,主要归纳如下:1.当菜单较为复杂时,如果不能设计好代码逻辑,将造成控件难于维护 2.美团菜单可以连续点击顶部tab,切换...
  • lidec
  • lidec
  • 2016年04月21日 22:34
  • 3519

jQuery自定义select下拉菜单

  • 2014年05月21日 15:01
  • 47KB
  • 下载

android 自定义下拉菜单

本实例的自定义下拉菜单主要是继承PopupWindow类来实现的弹出窗体,各种布局效果可以根据自己定义设计。弹出的动画效果主要用到了translate、alpha、scale,具体实现步骤如下: ...

自定义下拉菜单

  • 2012年10月12日 11:24
  • 7KB
  • 下载

magento 后台取产品自定义的select(下拉菜单)字段

magento 后台取产品自定义的select(下拉菜单)字段
  • m0sh1
  • m0sh1
  • 2014年12月22日 21:59
  • 640
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:QPushButton 自定义下拉菜单,不使用setMuen()接口
举报原因:
原因补充:

(最多只允许输入30个字)