QLineEdit
ユーザーが数字だけを入力する必要がある場所があります。
では、数字のみの設定はありQLineEdit
ますか?
QLineEdit::setValidator()
、 例えば:
myLineEdit->setValidator( new QIntValidator(0, 100, this) );
また
myLineEdit->setValidator( new QDoubleValidator(0, 100, 2, this) );
最高です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)));
次を設定することもできますinputMask
。
QLineEdit.setInputMask("9")
これにより、ユーザーは から までの範囲の 1 桁のみを入力でき0
ます9
。複数9
の を使用して、ユーザーが複数の数字を入力できるようにします。定型入力で使用できる文字の完全なリストも参照してください。
(私の答えは Python ですが、C++ に変換するのは難しくありません)
QSpinBox
この目的で a を使用しないのはなぜですか。次のコード行を使用して、上/下ボタンを非表示に設定できます。
// ...
QSpinBox* spinBox = new QSpinBox( this );
spinBox->setButtonSymbols( QAbstractSpinBox::NoButtons ); // After this it looks just like a QLineEdit.
//...