我正在尝试使用arg()函数格式化QString,如下所示:
QColor color = QColorDialog::getColor(Qt::blue, this);
....
QString tStr = QString("R: %1 G: %2 B: %3").arg( color.red(), color.green(), color.blue());
这里我得到一个'整数除零异常'。
背景:在VS 2010中使用Qt加载项。全新的Qt框架。
有什么建议吗?
由于
答案 0 :(得分:2)
您应该将该行更改为
QString tStr = QString("R: %1 G: %2 B: %3")
.arg(color.red()).arg(color.green()).arg(color.blue());
我只能假设你的代码映射到arg()
QString QString::arg(int a, int fieldWidth = 0, int base = 10,
const QChar & fillChar = QLatin1Char( ' ' )) const
我很惊讶它导致除零错误,因为没有先执行除法而没有先检查0或捕获异常:)无论如何,我在Qt 4.7.4 / Windows 7上对你的代码进行了测试/ MinGW没有错误,只是错误的结果字符串。