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));  //设置菜单出现的位置, 在按钮的正下方出现

}


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


效果图:



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

QPushButton下拉式菜单(是否取消下拉三角,是否check)

给QPushButton添加菜单的示例,前面已经有了三种方式: Qt学习之给QPushButton添加菜单ActionsContextMenu方法 Qt学习之给QPushButton添加菜单Cus...
  • u011417605
  • u011417605
  • 2016年04月22日 11:40
  • 4672

Qt学习之路之自定义按钮

首先,在此感谢博主:http://blog.sina.com.cn/liang19890820 按钮有三种状态:当鼠标点击的时候,当鼠标进入按钮的时候,当鼠标没有进入按钮的时候,这3个不同的状态。 上...
  • HK_5788
  • HK_5788
  • 2014年12月24日 08:20
  • 1448

你还在用QPushButton吗?

    有很多朋友都抱怨,为什么自己使Qt做的小项目,UI那么土那么俗,方方框框,基本控件很丑,要不是Qt的跨平台,才不去学习它。呵呵,其实我想说,嵌入式系统中的图形界面,通通交给QT,绝对没问题! ...
  • yiyaaixuexi
  • yiyaaixuexi
  • 2011年04月23日 10:49
  • 27360

[转]Qt入门之QPushButton

http://blog.csdn.net/xgbing/article/details/7764326 QPushButton是一个按键类。 [cpp] view pl...
  • imxiangzi
  • imxiangzi
  • 2015年12月31日 10:22
  • 1165

设置QPushButton的背景图片

setIcon(QIcon("toolbutton.png"));       setIconSize(QSize(48, 48)); 如果没有下面那句话,该图片是被缩放的放到图片上 如...
  • chinabinlang
  • chinabinlang
  • 2014年05月17日 04:38
  • 4545

给QPushButton添加二级菜单

给QPushButton添加菜单的示例四种方式: Qt学习之给QPushButton添加菜单ActionsContextMenu方法 Qt学习之给QPushButton添加菜单CustomCon...
  • u011417605
  • u011417605
  • 2016年04月22日 17:40
  • 3551

qt 自定义外形 qpushbutton

以圆钮为例,个人猜想: 方法一)png皮肤法 1、皮肤里放个圆的png图片;通过皮肤设置,让按钮呈现出圆形;并且点圆周外,无任何反应。 方法二)png图片法 2、继承QPushButton...
  • my_friend_ship
  • my_friend_ship
  • 2014年09月29日 13:17
  • 2863

Qt学习之给QPushButton添加菜单ActionsContextMenu方法

给QPushButton添加右键菜单,其中ActionsContextMenu相对比较方便实现。说是给QPushButton添加右键菜单,其实对于所有的QWidget都是可以的,也就是说这种方法适合给...
  • u011417605
  • u011417605
  • 2016年03月18日 10:44
  • 3594

自定义QPushButton

自定义QPushButton 样式 之前在项目需要用到自定的QPushButton,于是在网上找了一些方法,有什么设置pattle的,有设置icon的,到最后都不符合要求,而且设置来设置去的多麻烦,有...
  • qq769651718
  • qq769651718
  • 2013年03月18日 09:41
  • 949

IE9无法显示下拉菜单解决办法

 IE9无法显示下拉菜单解决方案 不知什么时候IE浏览器突然变成了这样,下拉菜单无法显示(或可以选择,但文字无法显示) 搞了半天终于解决了,怕以后忘记了,赶紧记录下来 1、IE...
  • wangxiaofei2006
  • wangxiaofei2006
  • 2014年05月27日 17:16
  • 13108
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:QPushButton 自定义下拉菜单,不使用setMuen()接口
举报原因:
原因补充:

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