2010-08-08 30 views
8

He creado un cuadro de diálogo con QtDesigner. Hay un objeto QLineEdit en el cuadro de diálogo con contenido predeterminado. Cuando el diálogo se inicializa y el foco va al QLineEdit, quiero que el contenido predeterminado sea seleccionado automáticamente, por lo que una vez que el usuario comienza a escribir, se sobrescribirá el contenido anterior.Seleccionar texto de QLineEdit en el foco

EDIT:

En constructor:

dialog->accept(); 

y

connect(dialog, SIGNAL(accepted()), QlineObj, SLOT(selectAll())); 

Respuesta

7

llamada

lineEdit->selectAll(); 

después de establecer el texto predeterminado. (En el constructor del diálogo, quizás)

+0

Gracias ya lo hice;) dialog-> accept(); {en constructor} y connect (cuadro de diálogo, SIGNAL (aceptado()), QlineObj, SLOT (selectAll())); –

+0

Esto funciona en el constructor: QTimer :: singleShot (0, lineEdit, SLOT (selectAll()); – Zmey

5

Hay un método más simple para obtener casi el mismo comportamiento, que es establecer el contenido predeterminado utilizando setPlaceholderText() en lugar de setText(). Esto mostrará el contenido por defecto atenuado y tan pronto como el QLineEdit gane el foco, desaparecerá.

Cuestiones relacionadas