gpt4 book ai didi

c++ - Qt:发出信号时不调用信号处理程序

转载 作者:太空狗 更新时间:2023-10-29 20:41:37 27 4
gpt4 key购买 nike

我正在做这样的事情:

MyClass::MyClass(QWidget *parent) : QLabel(parent)
{
this->MyMenu = new QMenu();

QAction* act_del = new QAction(MyMenu);
act_delete->setText("MyAction");

MyMenu->addAction(act_del);

QObject::connect(act_del,SIGNAL(triggered()),this,SLOT(MySlot()));
}

void MyClass::MySlot()
{
//Not called
}

关于何时触发 SIGNAL 的任何建议都不会调用 SLOT。这是显示菜单的位置:

void MyClass::contextMenuEvent(QContextMenuEvent *ev)
{
QPoint globalPos = this->mapToGlobal(ev->pos());

QAction* selectedItem = MyMenu->exec(globalPos);
if (selectedItem)
{

}
else
{
// nothing was chosen
}
}

对于为什么不调用 SLOT 有什么建议吗?

最佳答案

MyClass 需要包含 Q_OBJECT信号槽连接工作的宏。

关于c++ - Qt:发出信号时不调用信号处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20667243/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com