我正在尝试将QMessageBox的指针从一个函数返回到另一个函数,但是我面对以下错误:
错误:'QMessageBox :: QMessageBox(const QMessageBox&)'是私有的 Q_DISABLE_COPY(QMessageBox提示)
代码:
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();
}
答案 0 :(得分:1)
您无法复制QMessageBox。返回一个指针
QMessageBox* BoxDraw()
{
QMessageBox *msgBox;
...
return msgBox;
}
顺便说一句:你错过了new QMessageBox
。