Seite 1 von 1

Eingabefeld für 64Bit Ganzzahl

Verfasst: 18. Februar 2009 11:10
von fettoni
Hallo,

Ich benötige für eine Oberfläche eine Eingabemöglichkeit für eine Ganzzahl mit einer größe von 64Bit. Das heißt es sollen "nur" Werte zwischen -9223372036854775808 und 9223372036854775807 eingegeben werden können. Da das mit einer QSpinBox aufgrund der größe nicht möglich ist, bleibt mir wohl nur die Möglichkeit das ganze über ein QLineEdit zu realisieren und den eingegben Wert auf gügltigkeit zu prüfen oder? Allerdings weiß ich auch da zurzeit nicht so wirklich wie ich da am besten ran gesehen soll. Also, wenn jemand eine Idee hat, wie man ein solches Feld realisiert, nur her mit den Ideen.

Gruß
Fettoni

Verfasst: 18. Februar 2009 11:45
von Ronnar
Vielleicht hilft die ein QIntValidator

Code: Alles auswählen

     QValidator *validator = new QIntValidator(100, 999, this);
     QLineEdit *edit = new QLineEdit(this);

     // the edit lineedit will only accept integers between 100 and 999
     edit->setValidator(validator);

Verfasst: 18. Februar 2009 12:26
von RD1978
@Ronnar
Das wird nicht funktionieren, weil die Parameter von QIntValidator auch nur Interger sind.

@fettoni
Evtl. eine eigene Klasse (SpinBox) von QAbstractSpinBox ableiten.

Verfasst: 18. Februar 2009 12:27
von fettoni
@Ronnar
Leider nicht, der QIntValidator kommt wie die QSpinBox mit Werten dieser größe nicht mehr klar. Ich werds wohl mit einer QReqExp versuchen müssen, was bessers fällt mir zurzeit nicht ein.

Verfasst: 18. Februar 2009 12:28
von upsala
@Ronnar: Ein QIntValidator kann nur int's handhaben (sagt irgendwie der Name schon...)

QRegExpValidator wäre eine schnelle Alternative...