Texto - Vertical

Hola a todos, hay alguna forma de poner un texto en vertical, se trata de poner un mensaje en principio fijo, pero en vertical a un lado de un formulario, hay algo para poder hacerlo ???

Un saludo.

Lo más fácil es un dibujo con el texto

Un truco sencillo en caso de que sea una sola palabra o algo por el estilo, puedes colocar una etiqueta de texto, activar la propiedad multilinea y colocar cada letra con un espacio, por ejemplo “m e n s a j e” y el ancho de la etiqueta que solo tenga espacio para una letra… y lo alargas a lo alto.

Creas fichero script QML:

import QtQuick 1.1

Rectangle{
    color: "transparent";
    rotation: 90; // o -90
        Text{
	   anchors.centerIn: parent;
           text: "lo que quieras poner";
           color:"black"; // el color que tu quieras
        }
}

Creas un formulario QML como fichero script pones el que has creado con el contenido anterior, lo insertas en tu formulario:
ancho en layout= Fijo
alto en layout = Por defecto

En la señal post-inicializazo asignas un evento con lo siguiente:

Interfaz: Establecer hoja de estilo CSS: IDENTIFICADOR_FORM_QML, 
"QFrame{ 
     border: 0px hidden white;
     background-color: transparent;
}"

Como identificador de de control(IDENTIFICADOR_FORM_QML) pones el identificador de tu formulario QML insertado.

1 me gusta

css al rescate

muy bueno!

Queda bien, queda bonito, super útil.

Gracias Bitcodesoft.

Un Saludo.

Martin Ibarra.

P.D. +1000000000000000000000

image

Hola, con un poco de retraso estoy intentando aplicar el qml, pero tengo un problema:

-Inserto en el formulario donde quiero poner el texto vertical una vista de datos que llama al formulario qml, en este formulario en el post-inicializado hago la llamada, pero me devuelve un error para mi incompresible.(adjunto imagen)
-Evidentemente el fichero existe

image

Jejejeje, al principio me pasaba lo mismo.

En el inspector de objetos selecciona el fichero, click derecho y marca la opcion de “grabar en caché del cliente” o algo así, cambia el color del nombre del fichero, creo que es todo.

Saludos.

P.D. Igual y tienes un espacio en el nombre de la senda, no sé, a veces pasan cosas raras.

Gracias, ahora funciona, pero un detalle mas, se puede controlar el tamaño de la letra??

Text { font.family: "System"; font.pointSize: 13;}

font.family, no es obligatorio, solo si quieres cambiar la fuente del texto presentado.

Buenos dias:

Estoy probando esta opción pero por alguna razón que no consigo encontrar, el formulario Qml parece que no estira verticalmente (aunque tiene alto por defecto) y trunca el texto a presentar.

¿Sabéis cómo solucionarlo?

Saludos. Ramiro

image

Solucionado…

No había cambiado la propiedad de la imagen en el formulario Qml

Saludos. Ramiro

image

Buenas tardes de nuevo:

Desconozco si existe alguna forma de pasarle variables a un script Qml (no lo he usado nunca), pero me picaba la curiosidad de tener un sistema general para textos verticales.

Puesto que el script que alimenta al formulario Qml y le informa del texto a presentar se copia en la carpeta local de scripts, también se podría grabar o reescribir en esa dirección mediante un código como el de la imagen (a ejecutar en el Pre-Init del formulario en que está incrustado el formulario Qml)

El caso es que funciona…

Saludos. Ramiro

Fantásticos aportes: +1 +1 +1

De todos modos que pena que Velneo no haga esto en Nativo.

Saludos.

1 me gusta

Solo se tieneS que añadir la variable local al formulario contenedor:

TEXTO_VERTICAL

y en el form QML:

import QtQuick 1.1

Rectangle{
    color: "transparent";
    rotation: 90; // o -90
        Text{
	   anchors.centerIn: parent;
           text: theRoot.dataView().parentDataView().root().varToString("TEXTO_VERTICAL");
           color:"black"; // el color que tu quieras
        }

}

Por supuesto esto sirve para cualquier parámetro, color , rotación, etc…

Una ayuda:

Una vez creado el formulario QML … ¿Como inserto el formulario QML en mi formulario?

Tal y como se informa en una entrada anterior.

Saludos

@bitcodesoft:

Muchas gracias por tu última aclaración.

Saludos. Ramiro