当前位置: 代码迷 >> QT开发 >> 自定义类继承QPushButton后无法实现安插按钮菜单
  详细解决方案

自定义类继承QPushButton后无法实现安插按钮菜单

热度:362   发布时间:2016-04-25 02:52:35.0
自定义类继承QPushButton后无法实现插入按钮菜单
直接使用QPushButton 可以通过 设置 setMenu 可以设置按钮菜单。

我自己定义个类CPushButton  : Public QPushButton  后 定义变量, 
CPushButton -> setMenu  无法插入菜单。。 

继承QPushButton主要是向设置好看的按钮图片,但是没想到继承后却无法设置按钮菜单了。有解决方法吗。。。。

我尝试过在CPushButton中定义个QPushButton 。用这个QPushButton来设置菜单,并且在mouseReleaseEvent中 emit m_Emun->clicked()  但是并没有什么卵用。。。。
------解决思路----------------------
菜单的话,推荐你继承QToolButton,这个是专业的。
然后设置一下setPopupMode和toolButtonStyle就好了
------解决思路----------------------
试了下没问题啊,重载按钮也可以设置menu:
    QMenu *pMenu = new QMenu(this);

    pMenu->addAction("dasdsa");
    pMenu->addAction("dasdsa");
    pMenu->addAction("dasdsa");
    pMenu->addAction("dasdsa");

    ui->pushButton->setMenu(pMenu);



    testbutton* p = new testbutton(this);
    p->setMenu(pMenu);
    p->setText("dasdsadsa");

    ui->verticalLayout->addWidget(p);

------解决思路----------------------
一般不重写父类的 setMenu,不会改变原来的功能的。