2012-06-20 15 views
6

Si no reintrodujo QMainWindow::showEvent() (que contendrá un método setFocus() para ese widget), ¿hay alguna manera de permitir que algún widget se concentre primero, cuando la ventana está cargado ? Utilizo el editor de formularios de Qt4, pero no pude encontrar un lugar para configurar eso.Qt4: ajustar qué widget enfocarse al inicio

Respuesta

12

Puede establecer Tab Order en Qt Designer o en el componente Designer en Qt Creator. El primer widget en el orden de tabulación debe centrarse en la carga.

tab order

Muchos usuarios esperan poder navegar entre widgets y controles utilizando sólo el teclado. Qt permite al usuario navegar entre los widgets de entrada con el Tab y Mayús + Tab atajos de teclado. La orden predeterminada de la pestaña se basa en el orden en que se construyen los widgets. Aunque este orden puede ser suficiente para muchos usuarios, a menudo es mejor que especifique explícitamente el orden de tabulación para hacer que su aplicación sea más fácil de usar .

Ajuste del orden de tabulación

Para entrar en el modo de edición orden de tabulación, abra el menú Editar y seleccione Editar orden de tabulación. En este modo, cada widget de entrada en el formulario se muestra con un número que indica su posición en el orden de tabulación. Por lo tanto, si el usuario proporciona el primer widget de entrada, el foco de entrada y luego presiona la tecla de tabulación, , el foco se moverá al segundo widget de entrada, y así sucesivamente.

El orden de tabulación se define haciendo clic en cada uno de los números en el orden correcto de . El primer número que haga clic cambiará a rojo, , indicando la posición actualmente editada en la cadena de orden de tabulación. El widget asociado con el número se convertirá en el primero en la cadena de orden . Al hacer clic en otro widget, será el segundo en el orden de tabulación , y así sucesivamente.

Repita este proceso hasta que esté satisfecho con el orden de tabulación en forma - que no es necesario hacer clic en cada elemento de entrada si ves que los widgets de restantes ya están en el orden correcto. Los números, para donde ya ha establecido el pedido, cambian a verde, mientras que aquellos en los que aún no se ha hecho clic, permanecen en azul.

Si comete un error, simplemente haga doble clic fuera de cualquier número o elija Reiniciar en el menú contextual del formulario para comenzar de nuevo. Si tiene tiene muchos widgets en su formulario y desea cambiar el orden de tabulación en el medio o al final de la cadena de orden de tabulación, puede editarlo en en cualquier posición. Presione Ctrl y haga clic en el número desde el que desea iniciar . Alternativamente, elija Comience desde aquí en el menú contextual.

9

Nunca utilicé el editor de formularios, pero podría simplemente llamar a los widgets setFocus method en su código después de crear la ventana principal.

+0

simple y obras –