QString字符串/文本格式

时间:2012-02-04 05:43:25

标签: qt formatting qstring

我正在尝试使用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框架。

有什么建议吗?

由于

1 个答案:

答案 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没有错误,只是错误的结果字符串。