¿Colorear atributo / campo en el formulario de datos QGIS basado en el valor?


8

Usando QGIS (2.14), ¿es posible en el formulario de datos que un atributo tenga un color (u otro formato) basado en su valor?

Por ejemplo, si mis datos tienen un campo 'calidad' que tiene un valor 'bueno' o 'medio' o 'malo'. Me gustaría que el campo en el formulario de atributo se muestre verde / naranja / rojo según este valor.

Estaría contento con una solución alternativa, por ejemplo, un símbolo o icono que aparece al lado del campo, fondo de color para el campo, etc.

Estoy feliz de usar QT Designer para crear el formulario de datos. Estoy feliz de editar el formulario xml a mano. Tendré dificultades si la respuesta es que necesito usar más de una o dos líneas de código Python, así que probablemente esté buscando respuestas que no requieran esto.

También necesito el formato para mostrar si la capa está o no en modo de edición (porque los datos principales que estoy usando no serán editables).

EDITAR: tenga en cuenta que solo estoy buscando soluciones que funcionen para un formulario de datos QGIS, no en la tabla de atributos y no en los datos exportados. El objetivo es hacer que los datos sean lo más fáciles de entender posible, de modo que un usuario que trabaje con la herramienta de identificación pueda ver / comprender rápidamente información clave sobre una característica que se muestra en el mapa. Los datos reales con los que estoy trabajando son complejos y los usuarios de primera línea deben recibir asistencia para comprenderlos.

imagen de formulario de datos simple


Lo exportaría como una hoja de Excel y lo colorearía allí. Pero no sé si esta es una solución alternativa con la que podría vivir
JoeBe

Gracias JoeBe, no, eso no es lo que estoy buscando. Y tal como lo indica @ahmadhanb, ya hay capacidades que QGIS tiene para diseñar la tabla de atributos. Lo que necesito es mejorar la usabilidad del formulario de datos para que QGIS pueda utilizarse como una forma efectiva de inspeccionar datos (una característica a la vez).
Rostranimin

Quizás podría decirles a los usuarios que abran la tabla de atributos y luego seleccionen "mostrar objetos seleccionados" (o cómo se llama). Una vez que establezca el estilo de la tabla de atributos (como lo explicó @ahmadhanb), el usuario puede ver un objeto a la vez
JoeBe,

Respuestas:


3

Si te entiendo muy bien, puedes hacer un formato de tabla de atributos usando los siguientes pasos:

  1. Abre tu tabla de atributos
  2. Usar reglas de formato condicional

ingrese la descripción de la imagen aquí

  1. Seleccione el campo al que desea aplicar las reglas de formato de la lista desplegable. En este ejemplo, quiero usar un nombre de campo"Test"

ingrese la descripción de la imagen aquí

  1. Seleccione New Rule
  2. Seleccione Nueva expresión, escriba la expresión que desee "Field name" = 'Very High'y en el Backgroundelija el color que desee y presioneDone

ingrese la descripción de la imagen aquí

  1. Repita el paso 5 para otras condiciones y dele diferentes colores de fondo como puede ver a continuación:

ingrese la descripción de la imagen aquí

Aquí están los resultados finales:

ingrese la descripción de la imagen aquí

Estoy usando QGIS 2.14.17 LTR


Gracias. Soy consciente de esto, y es muy útil, pero es la FORMA de datos, no la tabla de atributos, a la que necesito agregar un estilo.
Rostranimin

1
@Rostranimin No, no hay forma de aplicar el estilo basado en reglas a FORMULARIO de datos. Esta opción solo se aplica a la tabla de atributos. Como JoeBe, la única opción que tienes es Excel.
ahmadhanb

¿está seguro de que esto no se puede hacer con un formulario creado con QT / QT Designer? Puedo ver que no se puede hacer como una función nativa / simple de QGIS, usando el formulario de datos producido automáticamente, pero estoy bastante seguro de que esto se podría hacer con secuencias de comandos mucho más avanzadas, etc. Me pregunto si se puede hacer de una manera lo suficientemente simple como para que alguien como yo sea capaz, simplemente en la configuración disponible usando QT Designer.
Rostranimin

No estoy seguro de si es posible hacer lo que desea con QT / QT Designer. Pero, según mi experiencia y según la política de GIS.SE, si desea que se haga usando un script, en este caso necesita escribir su propio script y pedir ayuda si se queda en algún lugar de su código. De lo contrario, su pregunta se cerrará como fuera de tema.
ahmadhanb

Gracias. Soy consciente de que. Sin embargo, sospecho que puede ser posible con configuraciones relativamente simples en QT Designer, y que simplemente no sé cuáles son estas configuraciones. Realmente la pregunta es si este es el caso, o si realmente requiere una secuencia de comandos más avanzada. La respuesta puede ser 'no, no se puede hacer sin secuencias de comandos más avanzadas'. Seré lo suficientemente feliz como para saber esto.
Rostranimin

3

No tengo la experiencia para responder (o la reputación de publicar el enlace como comentario), pero en este enlace https://nathanw.net/2011/09/05/qgis-tips-custom-feature-forms-with-python -logic / , Nathan Woodrow explica cómo se podría hacer (la parte de colores está cerca de la parte inferior de la página). Así que definitivamente podría hacerse, pero me temo que implica mucho Python ...


Gracias. Sí, me di cuenta de esa publicación. Eso es lo que me hace pensar que una solución avanzada es posible. Pensé que podría ser posible hacer algo menos que esto: puede usar QT Designer para configurar formularios de datos relativamente simples de manera bastante simple (no es necesario hacer ninguna codificación). Tengo eso funcionando bien. Lo que no sé es si lo que pido es mucho más avanzado, o si hay una configuración simple para eso ...
Rostranimin
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.