QLabel setText()在Qt环境中的Event()函数中不起作用
问题描述:
在我的对话框中有一个名为rightLabel的QLabel对象,当我点击右键时,我想右键标签显示“右键单击确定”。它不起作用。然后代码是:QLabel setText()在Qt环境中的Event()函数中不起作用
bool MyDialog::event(QEvent *evt)
{
if(evt->type()==QEvent::ContextMenu)
{
qDebug()<<"rightbutton"; //that's ok
this->rightLabel->setText("Right Click OK");//doesn't work
}
……
答
你应该return QDialog::event(evt);
,一切都会好起来的。
bool MyDialog::event(QEvent *evt)
{
if(evt->type()==QEvent::ContextMenu)
{
qDebug()<<"rightbutton"; //that's ok
this->rightLabel->setText("Right Click OK");//will work
}
//other if
return QDialog::event(evt);
}