2016-11-21 6 views
1

は、私はこのようなQSpinBoxQLabelに表示されている番号があります。QTスピンボックスとラベルに300000を300000として表示するにはどうすればいいですか?

3570000 

をしかし、私は、それは次のようになりたい:

3,570,000 

私はそれをどのように行う必要がありますか?

+0

QTには組み込みのソリューションがありますが、標準のC++の方法はstd :: locale(http://en.cppreference.com/w/cpp/locale/locale)になります。 – user4581301

答えて

1

QSpinBoxという独自のサブクラスを作成し、valueFromTexttextFromValue関数をオーバーライドすることをお勧めします。詳細は、Subclassing QSpinBoxを参照してください。

+0

誤字脱字:QSpinBoxではなく、QtSpinBox – goug

4

Qt 5.3以来、これはQAbstractSpinBoxによってサポートされている機能であり、そこからQSpinBoxが派生します。デフォルトはfalseです。 `

あなたがQSpinBoxを作成した後、ちょうど

QSpinBox ::(真)setGroupSeparatorShownを呼び出します。

Qt 5.3より前のバージョンのQtを使用している場合、サブクラス化は唯一の選択です。

+0

とQlabelでどのように.. – Qasim

+0

@goug良い呼び出し。それを考えなかった。 – mascoj

+0

@ Qasim:QLabelは書式設定を行いません。文字列を自分自身でフォーマットし、QLabel :: setTextを使用する必要があります。書式設定については、QLocale :: toStringおよびQ​​Locale :: setNumberOptionsを参照してください。 – goug

関連する問題