这是用于TCP客户端 - 服务器通信的C++中的基本QtCreator代码的一部分。 这应该是我需要工作的最后一个功能。但要理解这是如何工作的以及错误在哪里,我试图展示一大堆QMessageBox。并非同一功能中的所有QMessageBox实际上都显示为
当我运行它,我得到第一个说“成功”。但我没有得到最后三个(因为如果 - 否则,我希望至少有一个出现)。所以我在'if'语句中加入了更多QMSGBoxes,以return结尾,以查看问题出在哪里,但即使它们没有出现。
任何想法,为什么这是hapening?提前致谢。
void DialogLogIn::success()
{
QMessageBox myBox;
myBox.setInformativeText("Sucess.");
myBox.setStandardButtons(QMessageBox::Ok);
myBox.exec();
//return;
qint16 blockSize = 0;
QDataStream in(mysocket);
in.setVersion(13);
if (blockSize == 0) {
if (mysocket->bytesAvailable() < (int)sizeof(quint16))
{
QMessageBox box;
box.setInformativeText("return 1.");
box.setStandardButtons(QMessageBox::Ok);
box.exec();
return;
}
in >> blockSize;
}
if (mysocket->bytesAvailable() < blockSize)
{
QMessageBox box;
box.setInformativeText("return 2");
box.setStandardButtons(QMessageBox::Ok);
box.exec();
return;
}
QString result;
in >> result;
if (result == "G")
{
QMessageBox box;
box.setInformativeText("Password Verified.");
box.setStandardButtons(QMessageBox::Ok);
box.exec();
}
else if (result == "N")
{
QMessageBox box;
box.setInformativeText("Password Incorrect.");
box.setStandardButtons(QMessageBox::Ok);
box.exec();
}
else
{
QMessageBox box;
box.setInformativeText("Error.");
box.setStandardButtons(QMessageBox::Ok);
box.exec();
}
}
您是否在单步调试器中执行了代码? –
sscce.org - >您能否提供一个独立的示例,其中包含一个我们可以构建和测试的主函数? – lpapp
这个问题似乎是无关紧要的,因为它涉及到一个与代码无关的构建问题,并且提问者无论如何都不清楚自己的问题。 –