30/09/2018, 17:30

Chỉ cho nhập số vào QlineEdit Trong Qt

Mình muốn chỉ cho nhập số vào QLineEdit thì phải làm như thế nào mong các bạn giúp. Cảm ơn

Mai Anh Dũng viết 19:33 ngày 30/09/2018

Nhập chỉ số là sao nhỉ @HungVo?

Hung viết 19:46 ngày 30/09/2018

Ý em làm khi người dùng nhập vào QLineEdit thì chỉ được nhập số thôi, vì em đang làm chức năng nhập số điện thoại vào danh bạ ạ

Mai Anh Dũng viết 19:40 ngày 30/09/2018

Làm theo hướng dẫn này nhé

QLineEdit::setValidator(),

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

or

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

See: QIntValidator, QDoubleValidator, QLineEdit::setValidator

stackoverflow.com
sashoalm

Set QLineEdit to accept only numbers

c++, qt, qlineedit
asked by sashoalm on 07:18PM - 16 Nov 12
... viết 19:39 ngày 30/09/2018

Cái setValidator này hình như chỉ cho nhập 1 số giới hạn trong khoảng nào đó
Ví dụ đặt cho nó khoảng từ 0 - 100, thì giả sử mình nhập 09343… thì nó chỉ nhận ngang 093 thôi thì phải

Có lẽ tốt nhất nên subclass QLineEdit rồi viết thêm hàm setInput gì đó, rồi kiểm tra từng kí tự mà mình nhập vào có phải là số hay không.

P/s: À kiểu Int 4 byte thì chắc set cho nó giới hạn 10 số chắc cũng vô tư quên mất

Khải Quách viết 19:39 ngày 30/09/2018

Bạn xem cái này thử xem: http://doc.qt.io/qt-4.8/qregexpvalidator.html
Mấy cái class này người ta viết sẵn ra dùng để validate, thì thường những rule cơ bản có hết ấy mà.

Bài liên quan
0