Ir para o conteúdo

Formulário do atributo

O QField cria formulários semelhantes, mas não são iguais ao QGIS. Os widgets de campo do QGIS são suportados com base no melhor esforço e otimizados para ser usado em dispositivos móveis.

Tipo de widget Suporte Notas
Editar Texto - HTML não é suportado
- introdução de dados numéricos é aplicada com base no tipo de campo.
Caixa de Seleção
Mapa de Valores
Escondido
Anexo Este campo é combinado com a integração da câmera. Também é capaz de abrir outros ficheiros como pdf e doc (se tiver um visualizador apropriado) Anexo (configurações de fotos)
Data Tempo
Intervalo
Referência de Relações
Widget de Relação
Relação de Valor
Gerador UUID
QML / HTML Widget
Outros Funding

Editável

O parâmetro editável dos campos é respeitado.

Lembrar os últimos valores

QField oferece um controlo muito mais minucioso sobre os últimos valores usados e ignora a definição do QGIS.

Suprimir Formulário do Atributo

A configuração suprimir formulário do atributo é aplicada diretamente no formulário QField.

Design de formulários arrastar e largar

Grupos e separadores a partir do designer de formulários Arrastar e Largar são suportados.

Configurar Widget de Relação

Preparação no Desktop

Para mais informações, consulte o capítulo de relações na Documentação Oficial do QGIS.

O widget de relação mostra todos os elementos filhos de referência numa lista. É possível adicionar, apagar e abri-las.

A identificação visual das entradas da lista é feita com uma Expressão de visualização na camada filha.

Gestão de chaves

Como as chaves primárias dos pais são utilizadas como chaves estrangeiras nos elementos filhos de referência, essas chaves primárias devem ser guardadas para uso após a sincronização com os dados originais. Portanto, recomendamos o uso de valores estáveis, como UUIDs, para chaves primárias.

É possível adicionar ligações filhas de uma referência pai que está prestes a ser adicionado. Essa possibilidade será bloqueada se não existir chave primária válida no pai ou as restrições forem violadas. Caso a adição do elemento pai seja cancelada depois de alguns elementos filhos já tiverem sido adicionados, os filhos também serão excluídos.

Relações Muitos-Para-Muitos

Nas relações de muitos para muitos, de acordo com a configuração de cardinalidade nas Propriedades da camada vetorial QGIS, a adição, exclusão ou abertura de uma entrada na lista afeta diretamente a camada filha (na cardinalidade direta) ou a tabela de ligação (em muitas para uma cardinalidade).

O segundo caso é geralmente utilizado quando há informações adicionais de relação (por exemplo, percentagem) na tabela de ligação.

No caso da cardinalidade muitos-para-um nas relações muitos-para-muitos, a Expressão de Exibição precisa ser definida na tabela de ligação.

Configure Attachment Widget

Preparação no Desktop

O tipo de widget Anexo é usado com campos que armazenam o caminho para os ficheiros.

Pode ser usado para:

  • show and take photos or add pictures from the gallery
  • ouvir e gravar clips de som
  • mostrar e gravar vídeos
  • mostrar ligações para ficheiros externos para documentos ou PDFs

Form attachment picture
Form attachment picture

Form attachment audio
Form attachment audio

Form attachment video
Form attachment video

The path should be set to relative. The pictures, audios, videos, pdf and docs are stored then in a sub-directory of the project, where the link stored in the textfield is pointing to.

Note

QGIS 3.30 or newer is required for the audio and video functionality

In QField the attachments are displayed. By clicking the icons symbol the camera or audio record is started to update the pictures, videos or audios with a new media.

Media
Media

On synchronization the sub-directory with the pictures, videos audios, pdf and docs has to be copied as well.

A opção hiperligação no widget de anexo desativará a funcionalidade da camera e ativa uma hiperligação para abrir um documento (pdf, doc, ...).

Caminho configurável para os anexos

Preparação no Desktop

QFieldSync provides the possibility to configure the path of attachments.

  • Go to QFieldSync plugin > Layers Properties

Use expressions to specify the path of the attachments. By default, pictures are saved into the "DCIM" folder, audio recordings are saved into the "audio" folder and videos are saved into "video" with a timestamp as name.

Paths
Paths

Configurar Widget de Relação

Preparação no Desktop

O widget Relação de Valor oferece valores de uma tabela relacionada de uma lista de opções. Podes selecionar a camada, chave da coluna e valor da coluna. Várias opções estão disponíveis para mudar os comportamentos padrão: permitir valores nulos, ordenar por valor, e permitir múltipla escolha. O widget irá exibir uma lista simples ou uma lista de múltipla seleção com os elementos referenciados.

Configurar Visibilidade por Condições

Preparação no Desktop

Os grupos podem ser ocultados com base numa expressão. Esta ação é útil quando certos atributos são necessários apenas sob certas condições. Como exemplo, imagine o inventário de árvores. Algumas delas podem ter uma doença e tem uma lista de possíveis doenças. Para não sobrecarregar o formulário com muitos campos, poderá fazer um grupo e configurar uma expressão de visibilidade para um grupo "doenças". Adicione um campo "doença" com uma caixa de seleção. Só quando a caixa de seleção estiver marcada aparecerá a lista de doenças disponíveis.

Configuração de uma caixa de grupo, que só será apresentada se caixa de verificação "measures_taken" for selecionada.
Configuração de uma caixa de grupo, que só será apresentada se caixa de verificação "measures_taken" for selecionada.

Vamos ver o que temos no campo:

Definir restrições

Preparação no Desktop

Os campos do atributo podem ter restrições anexadas. As restrições são expressões que precisam ser avaliadas como True (ou 1) para serem capaz de guardar o formulário. As restrições são configuradas por campo e uma descrição pode ser adicionada e que será mostrada se uma restrição não é satisfeita.

Configuração de uma restrição dentro de um intervalo
Configuração de uma restrição dentro de um intervalo

Casos de uso comuns

Não pode introduzir um valor de elevação maior que a montanha mais alta deste país.

"elevation" < 5000

É necessário preenchê-lo com um identificador.

"identificador" IS NOT NULL

Definir valores padrão

Preparação no Desktop

Os campos podem ter valores padrão configurados. Os valores padrão são inseridos no formulário do atributo ao digitalizar um novo elemento. Eles são visíveis e podem ser modificados desde que o campo seja editável. Eles pode ser baseado na geometria ou nas variáveis de expressão.

Configuração da data formatada como valor padrão
Configuração da data formatada como valor padrão

Variáveis adicionais

For more information regarding storing information related to your position in object attributes, refer to the deticated GNSS documentation.

Para utilizadores do QFieldCloud, duas variáveis podem ser usadas em expressões incluindo os valores padrão dos formulários de atributo: - @cloud_username devolve o nome do utilizador que atualmente tem a sessão iniciada no QFieldCloud. - @cloud_usermail devolve o email que atualmente tem a sessão iniciada no QFieldCloud.

Casos de uso comuns

Inserir informação de posicionamento como variável:

@position_horizontal_accuracy

Iserir a data e hora actual:

now()

Inserir o comprimento da linha digitalizada:

length($geometry)

Configurar as variáveis globais no dispositivo e inseri-las.

@operator_name

Se você deseja atribuir um código de região com base no local onde um novo elemento é inserido, poderá fazê-lo usando uma expressão agregada:

aggregate( layer:='regions', aggregate:='max', expression:="code", filter:=intersects( $geometry, geometry( @parent ) ) )

Para transformar as coordenadas recebidas de \@position_coordinate para o sistema de coordenadas do seu projeto:

x(transform(@position_coordinate, 'EPSG:4326', @project_crs ))
y(transform(@position_coordinate, 'EPSG:4326', @project_crs ))

::: {#snapping_results} Se quiser usar os resultados do snapping depois de desenhar uma linha, é possível. Use a variável [\@snapping_results]{.title-ref}. O seguinte código extraí o valor do atributo [id]{.title-ref} do snap correspondente ao primeiro ponto de uma linha. :::

with_variable(
  'first_snapped_point',
  array_first( @snapping_results ),
  attribute(
    get_feature_by_id(
      @first_snapped_point['layer'],
      @first_snapped_point['feature_id']
    ),
    'id'
  )
)

Pesquisar num widget value relation e relation reference

É possível pesquisar um valor num widget relação valor ou relação referência usando o ícone lupa ao lado do campo.

Note

Definir a display expression para as camadas envolvidas, isto será usado para pesquisar elementos. Isto está configurado no separador em Vector Layer Properties > Display

Configurar o Valor de Auto-preenchimento

Preparação no Desktop

A caixa de seleção "Usar auto-preenchimento" deve ser marcada para poder usar o preenchimento automático no value relation.

Ativar preenchimento automático no QGIS
Ativar preenchimento automático no QGIS

Aqui está um vídeo mostrando como funciona no QField

Definir os widgets QML

Widgets QML personalizados podem ser úteis para integrar ações avançadas em formulários. Neste exemplo, definimos adicionar um botão que abre um mapa à parte de uma aplicação de navegação. Este tipo de ações é útil para abrir, por ex. navegações passo a passo no aplicativo nativo do dispositivo para o utilizador.

import QtQuick 2.0
import QtQuick.Controls 2.0

Button {
    width: 200
    height: width/5
    text: "Open in Maps"
    onClicked: {
        Qt.openUrlExternally(expression.evaluate("'geo:0,0?q=' || $y || ',' || $x"));
    }
}

O URI geo acima é adaptado para funcionar com o Android. Para o Apple Maps, o URI pode ser alterado para 'geo:' || $y || ',' || $ x.