Colorindo atributo / campo no formulário de dados QGIS com base no valor?


8

Usando o QGIS (2.14), é possível, no formulário de dados, que um atributo tenha uma cor (ou outra formatação) com base em seu valor?

Por exemplo, se meus dados tiverem um campo 'qualidade' com valor 'bom' ou 'médio' ou 'ruim'. Gostaria que o campo no formulário de atributo fosse exibido em verde / laranja / vermelho, dependendo desse valor.

Eu ficaria feliz com uma solução alternativa - por exemplo, um símbolo ou ícone que aparece ao lado do campo, fundo colorido no campo e assim por diante.

É um prazer usar o QT Designer para criar o formulário de dados. É um prazer editar o formulário xml manualmente. Eu lutarei se a resposta for que eu preciso usar mais de uma linha ou duas do código Python, então provavelmente estou procurando respostas que não exijam isso.

Também preciso da formatação para mostrar se a camada está ou não no modo de edição (porque os dados principais que estou usando não serão editáveis).

EDIT: observe que estou procurando apenas soluções que funcionem para um formulário de dados QGIS, não na tabela de atributos e não nos dados exportados. O objetivo é tornar os dados o mais fácil de entender possível, para que um usuário que trabalha com a ferramenta de identificação possa ver / entender rapidamente as principais informações sobre um recurso mostrado no mapa. Os dados reais com os quais estou trabalhando são complexos e os usuários da linha de frente precisam ser auxiliados para entendê-los.

imagem de formulário de dados simples


Gostaria de exportá-lo como uma folha de excel e colorir lá. Mas eu não sei se esta é uma solução alternativa que você poderia viver com
JoeBe

Obrigado JoeBe - não, não é isso que estou procurando. E, como indicado por @ahmadhanb, já existem recursos que o QGIS possui para estilizar a tabela de atributos. O que eu preciso é melhorar a usabilidade do formulário de dados para que o QGIS possa ser utilizado como uma maneira eficaz de inspecionar dados (um recurso por vez).
Rostranimin

Talvez você possa dizer aos usuários para abrir a tabela de atributos e selecionar "mostrar objetos selecionados" (ou como é chamado). Depois de definir o estilo da tabela de atributos (como explicado por @ahmadhanb) o usuário pode ver um objeto de cada vez
JoeBe

Respostas:


3

Se eu entendi muito bem, você pode fazer uma formatação da tabela de atributos usando as seguintes etapas:

  1. Abra sua tabela de atributos
  2. Usar regras de formatação condicional

insira a descrição da imagem aqui

  1. Selecione o campo ao qual deseja aplicar as regras de formatação na lista suspensa. Neste exemplo, eu quero usar um nome de campo"Test"

insira a descrição da imagem aqui

  1. Selecione New Rule
  2. Selecione Nova expressão, escreva a expressão desejada "Field name" = 'Very High'e, em Backgroundseguida, escolha a cor desejada e pressioneDone

insira a descrição da imagem aqui

  1. Repita a etapa 5 para outras condições e dê a elas cores de fundo diferentes, como você pode ver abaixo:

insira a descrição da imagem aqui

Aqui estão os resultados finais:

insira a descrição da imagem aqui

Estou usando o QGIS 2.14.17 LTR


Obrigado. Estou ciente disso e é muito útil, mas é o FORM de dados e não a tabela de atributos à qual preciso adicionar um estilo.
Rostranimin

1
@Rostranimin Não, não há como aplicar o estilo baseado em regras ao FORM de dados. Esta opção é aplicada apenas à tabela de atributos. Como JoeBe, a única opção que você tem é o Excel.
precisa saber é o seguinte

tem certeza de que isso não pode ser feito usando um formulário criado usando o QT / QT Designer? Eu posso ver que isso não pode ser feito como uma função nativa / simples do QGIS - usando o formulário de dados produzido automaticamente - mas tenho certeza de que isso poderia ser feito com scripts muito mais avançados, etc. Estou perguntando se isso pode ser feito de uma maneira simples o suficiente para que alguém como eu seja capaz, simplesmente nas configurações disponíveis usando o QT Designer.
Rostranimin

Não tenho certeza se é possível fazer o que você deseja usando o QT / QT Designer. Mas, de acordo com minha experiência e com base na política GIS.SE, se você quiser que isso seja feito usando um script, nesse caso, você precisará escrever seu próprio script e pedir ajuda se ficar preso em algum lugar do código. Caso contrário, sua pergunta será encerrada como off-topic.
precisa saber é o seguinte

Obrigado. Obrigado. Eu suspeito que isso seja possível com configurações relativamente simples no QT Designer - e que eu simplesmente não sei quais são essas configurações. Realmente, a questão é se esse é o caso - ou se realmente exige scripts mais avançados. A resposta pode realmente ser 'não, isso não pode ser feito sem scripts mais avançados'. Ficarei feliz o suficiente por saber disso.
Rostranimin

3

Eu não tenho o conhecimento necessário para responder (ou a reputação de postar o link como um comentário), mas neste link https://nathanw.net/2011/09/05/qgis-tips-custom-feature-forms-with-python -logic / , Nathan Woodrow explica como isso pode ser feito (a parte de cores fica perto da parte inferior da página). Definitivamente, isso poderia ser feito, mas receio que envolva muito Python ....


Obrigado. Sim, eu notei esse post. É isso que me faz pensar que uma solução avançada é possível. Eu pensei que talvez fosse possível fazer algo menos do que isso - você pode usar o QT Designer para configurar formulários de dados relativamente simples com bastante simplicidade (não é necessário fazer nenhuma codificação). Eu tenho que trabalhar bem. O que eu não sei é se o que eu estou pedindo é muito mais avançado, ou se há uma configuração simples para ele ...
Rostranimin
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.