4

QSpinBoxを使用すると、ユーザーが10,000のように入力しているときに、数値の1000の区切り文字を表示できます。これを行うのに最適な方法はどれですか。

4

2 に答える 2

4

私はこれが遅いことを知っていますが、これは他の人々を助けるかもしれません。これを使用して千単位の区切り文字を更新しました

ui->doubleSpinBox->setGroupSeparatorShown(true);

また

プロパティをuiの形式で設定します

私のQDialogフォームでは、これを使用して千単位の区切り文字で金額を更新しました。

void DialogCashPayment::on_doubleSpinBox_valueChanged(double arg1){
     ui->doubleSpinBox->setValue(arg1);
}

編集:

量が10kを超えるとバグが見つかり、カーソル位置が変更されます。これを修正する方法はまだわかりません。多分誰かがこれを修正することができます。

于 2017-05-25T02:42:16.977 に答える
2

スピンボックスウィジェットへの値の表示を担当するをサブクラス化QSpinBoxして再実装できます。textFromValue考えられる実装は次のとおりです。

QString MySpinBox::textFromValue(int value)
{
   return this->locale()->toString(value);
}

ロケールを使用すると、ユーザーの設定に基づいて区切り文字が表示されるため、最適な方法です。

于 2012-02-14T11:01:42.090 に答える