jjzjj

QWidgets

全部标签

c++ - 在 QWidgets 线程实例上运行 lambda 函数槽

目前我正在创建一个线程。如果该线程想要与主线程通信以便与GUI交互,它会发出连接到主小部件线程上的插槽的信号。这一切正常。但是,对于此解决方案,我必须返回到我的原始GUI表单并向其添加插槽。我想知道我是否可以使用lambda函数简单地做到这一点。例如,在下面的示例中,类foo是在一个单独的线程上启动的。像这样QObject::connect(this,&myclass::someSignal,[](std::stringmsg){QMessageBox::information(mptr,"Sometitle",msg.c_str(),QMessageBox::StandardButt

c++ - 你能把QWidgets放到栈上吗?

背景故事:我审查了我的一些代码,我制作了一个本地QMessageBox用于显示错误,并将其分配到堆中:if(getAutopilotList.error()==0){QMessageBox*error=newQMessageBox(0);error->setDetailedText(getAutopilotList.errorString());error->setText("something");error->setWindowTitle(tr("Error!"));error->show();return;}开发者说:Thispointerwillleak,youaresetti