2017-12-29 36 views
0

QCustomPlotの軸に数値の書式を設定したいと思います。私は小数精度を扱う方法を知っていますが、大量の場合はカンマの代わりにスペースを使用する方法がありません。QCustomPlotの軸のカスタム書式番号

私は数字は次のようになりたい:私は探していますどのようなことがないように思われる方法QCPAxis :: setNumberFormatは、

1.045 (decimals separated with a dot) 
1 000 (thousands separated with space, currently I get 1,000) 

あります。

答えて

1

あなたはQCPAxisTickerをサブクラス化し、私は私が代わりにQStringのは、「カスタム区切り」を作るための機能を置き換える使用して小数点としてグループ・セパレータやドットなどのスペースを行うだろうロケールを見つけることができませんでしたgetTickLabel方法

を再実装する必要があります。

迅速かつ汚い例:

QString getTickLabel (double tick, const QLocale &locale, QChar formatChar, int precision) { 
    QLocale l; 
    QString number = l.toString(tick, 'g', 15); 
    number.replace(l.decimalPoint(), "."); 
    number.replace(l.groupSeparator(), " "); 

    return number; 
} 

入力:

1000000.1411 

出力:

"1 000 000.1411"