• 792阅读
  • 4回复

[讨论]关于QPushButton添加下拉菜单后点击事件失效的问题 [复制链接]

上一主题 下一主题
离线lwei24
 

只看楼主 正序阅读 楼主  发表于: 2023-03-08
  1. m_btnOption  = new QPushButton(this);
  2.     m_btnOption->setFont(QFont("Microsoft YaHei", 9));
  3.     m_btnOption->setText(u8"新建");
  4.     m_hBoxLayout->addWidget(m_btnOption);
  5.     connect(m_btnOption,  &QPushButton::clicked, this, &CDialog::onClickedOption);//此处点击事件触发
  6.     m_menu = new QMenu();
  7.     m_actNew = new QAction(m_menu);
  8.     m_actNew->setText(u8"新建");
  9.     m_actDel = new QAction(m_menu);
  10.     m_actDel->setText(u8"添加");
  11.     m_menu->addAction(m_actNew);
  12.     m_menu->addAction(m_actDel);
  13.     connect(m_actNew, &QAction::triggered, this, &CDialog::onActionNew);
  14.     connect(m_actDel, &QAction::triggered, this, &CDialog::onActionDel);
  15.     m_btnOption->setMenu(m_menu);
如上代码,在QPushButton添加了下拉菜单选项,然后选择后,想点击按钮,想触发按钮的点击事件,结果发现槽函数没有响应。各位朋友,有没有碰到如上的问题?欢迎大家指点一二,帮忙找找原因,在此感激不尽!!

离线lwei24

只看该作者 4楼 发表于: 2023-03-10
回 realfan 的帖子
realfan:考虑用QToolButton代替QPushButton (2023-03-09 09:42) 

好吧,多谢了!
离线realfan

只看该作者 3楼 发表于: 2023-03-09
考虑用QToolButton代替QPushButton
4条评分好评度+1贡献值+1金钱+10威望+1
20091001753 好评度 +1 好主意!!! 2023-03-09
20091001753 贡献值 +1 好主意!!! 2023-03-09
20091001753 威望 +1 好主意!!! 2023-03-09
20091001753 金钱 +10 好主意!!! 2023-03-09
离线lwei24

只看该作者 2楼 发表于: 2023-03-08
回 20091001753 的帖子
20091001753:    connect(ui->pushButton,&QPushButton::clicked,[&]{
        QMenu menu(this);
        menu.addAction(u8"新建",[&]{
    .. (2023-03-08 14:40) 

版主,这样做虽然能点击,但是却按钮的下拉菜单就没有倒三角符号了……
离线20091001753

只看该作者 1楼 发表于: 2023-03-08
  1.     connect(ui->pushButton,&QPushButton::clicked,[&]{
  2.         QMenu menu(this);
  3.         menu.addAction(u8"新建",[&]{
  4.             qDebug()<<u8"新建触发";
  5.         });
  6.         menu.addAction(u8"删除",[&]{
  7.             qDebug()<<u8"删除触发";
  8.         });
  9.         menu.exec(QCursor::pos());
  10.     });

(づ ̄ 3 ̄)づ
快速回复
限100 字节
 
上一个 下一个