94

QLineEditユーザーが数字だけを入力する必要がある場所があります。

では、数字のみの設定はありQLineEditますか?

4

6 に答える 6

144

QLineEdit::setValidator()、 例えば:

myLineEdit->setValidator( new QIntValidator(0, 100, this) );

また

myLineEdit->setValidator( new QDoubleValidator(0, 100, 2, this) );

参照: QIntValidatorQDoubleValidatorQLineEdit::setValidator

于 2012-11-16T19:36:40.303 に答える
29

最高ですQSpinBox

また、double 値の場合は を使用しますQDoubleSpinBox

QSpinBox myInt;
myInt.setMinimum(-5);
myInt.setMaximum(5);
myInt.setSingleStep(1);// Will increment the current value with 1 (if you use up arrow key) (if you use down arrow key => -1)
myInt.setValue(2);// Default/begining value
myInt.value();// Get the current value
//connect(&myInt, SIGNAL(valueChanged(int)), this, SLOT(myValueChanged(int)));
于 2013-10-12T21:37:54.483 に答える
10

次を設定することもできますinputMask

QLineEdit.setInputMask("9")

これにより、ユーザーは から までの範囲の 1 桁のみを入力でき0ます9。複数9の を使用して、ユーザーが複数の数字を入力できるようにします。定型入力で使用できる文字の完全なリストも参照してください。

(私の答えは Python ですが、C++ に変換するのは難しくありません)

于 2014-09-30T16:01:55.197 に答える
7

QSpinBoxこの目的で a を使用しないのはなぜですか。次のコード行を使用して、上/下ボタンを非表示に設定できます。

// ...
QSpinBox* spinBox = new QSpinBox( this );
spinBox->setButtonSymbols( QAbstractSpinBox::NoButtons ); // After this it looks just like a QLineEdit.
//...
于 2015-05-11T21:01:07.043 に答える