C++ 在QT中返回对话框时遇到错误:

C++ 在QT中返回对话框时遇到错误:,c++,qt,C++,Qt,我试图将QMessageBox的指针从一个函数返回到另一个函数,但我;我面临以下错误: 错误:“QMessageBox::QMessageBoxconst QMessageBox&”是私有的 Q_禁用_COPYQMessageBox 代码: QMessageBox BoxDraw() { QMessageBox *msgBox; bool retValue=false; msgBox->setWindowTitle(""); QString qstr = QString::fromStdS

我试图将QMessageBox的指针从一个函数返回到另一个函数,但我;我面临以下错误:

错误:“QMessageBox::QMessageBoxconst QMessageBox&”是私有的 Q_禁用_COPYQMessageBox

代码:

QMessageBox BoxDraw()
{
QMessageBox *msgBox;
bool retValue=false;
msgBox->setWindowTitle("");
QString qstr = QString::fromStdString(MY_String);
QString qyes = QString::fromStdString(MY_String_YES);
QString qno = QString::fromStdString(MY_String_NO);
msgBox->setText(qstr);
msgBox->setParent(0);
msgBox->setWindowFlags(Qt::Window);
msgBox->setWindowFlags(Qt::BypassWindowManagerHint);
return *msgBox;
}
从另一个函数调用它,如:

*global variable* 
QMessageBox *diagBox = NULL;

func A()
{
diagBox = BoxDraw();
}

无法复制QMessageBox。返回指针

QMessageBox* BoxDraw()
{
   QMessageBox *msgBox;
   ...    
   return msgBox;
}

顺便说一句:您丢失了一个新的QMessageBox。

谢谢Manni,它非常有用。还有一个疑问:我实际实现了如下所示的GTK对话框:GtkWidget*dialog=GTK_message_dialog_new GTK_windowwebkitBrowser window,flags,GTK_message_INFO,GTK_button_OK,%s,消息\u数据->str.str;现在我想用存储OK的str变量替换GTK_按钮_OK,这样我就可以更改语言了。请允许我建议。