Outdated version of the documentation. Find the latest one here.

6.3. Lesson: Formulare

Atunci când adăugați prin digitizare noi date, vi se prezintă o fereastră de dialog care vă permite să completați atributele entităților. Totuși, acest dialog nu este, în mod implicit, prea aspectuos. Acest lucru poate cauza o problemă de uzabilitate, mai ales dacă aveți de creat seturi de date de mari dimensiuni, sau dacă doriți ca alte persoane să vă ajute la digitizare, aceștia descoperind repede că formularele implicite sunt confuze.

Din fericire, QGIS vă permite să creați propriile dialoguri personalizate pentru un strat. Această lecție vă arată cum.

Scopul acestei lecții: De a crea un formular pentru un strat.

6.3.1. basic Follow Along: Utilizarea Funcționalității de Proiectare a Formularelor din QGIS

  • Select the roads layer in the Layers list.
  • Introduceți Modul de Editare ca mai înainte.

  • Deschideți Tabela sa de Atribute.

  • Faceți clic dreapta pe oricare celulă din tabel. Va apărea un scurt meniu, cu o singură intrare: Open form.

  • Faceți clic pe ea pentru a vedea forma pe care QGIS o generează pentru acest strat.

Evident, ar fi frumos să fiți în măsură să faceți acest lucru, mai degrabă, în timp ce vă uitați la hartă, decât să fie nevoie să căutați tot timpul o stradă specifică în Tabela de Atribute.

  • Select the roads layer in the Layers list.

  • Folosind instrumentul Identify, faceți clic pe oricare stradă din hartă.

    identify

  • The Identify Results panel opens and shows in a tree view the fields values and other general information about the clicked feature.

  • At the bottom of the panel, Check the Auto open form checkbox

  • Now, click again on any street in the map. Along the previous Identify Results dialog, you’ll see the now-familiar form:

    ../../../_images/roads_form.png
  • Each time you click on a single feature with the Identify tool, its form pops-up unless the Auto open form is unchecked.

6.3.2. basic Try Yourself Folosirea Formularului pentru Editarea Valorilor

Dacă sunteți în modul de editare, puteți utiliza acest formular pentru a edita atributele unei entități.

  • Activați modul de editare (dacă nu este deja activat).

  • Folosind instrumentul Identify, faceți clic pe oricare stradă din hartă care trece prin Swellendam:

../../../_images/main_street_selected.png
  • Setați-le valoarea guilabel:highway pe secondary.

  • Salvați modificările dvs.

  • Ieșiți din modul de editare.

  • Deschideți Tabela de Atribute și observați că valoarea din tabelul de atribute a fost actualizat și, prin urmare, și în datele sursă.

Note

Dacă, în mod implicit, utilizați setul de date, veți descoperi că există mai mult de un drum pe această hartă denumit Voortrek Street.

6.3.3. moderate Follow Along: Setarea Tipurilor de Câmpuri ale Formularelor

E frumos să editați lucruri folosind un formular, dar tot trebuie să introduceți manual totul. Din fericire, formele au așa-numitele widgets, care vă permit să editați datele în diverse moduri.

  • Deschideți fereastra de dialog a Proprietăților stratului roads.

  • Mergeți la fila Câmpuri. Veți vedea următoarele:

../../../_images/fields_panel.png
  • Faceți clic pe butonul Line edit din același rând cu man_made, apoi veți fi obține un nou dialog.

  • Selectați Checkbox din lista de opțiuni:

../../../_images/checkbox_selected.png
  • Clic pe OK

  • Intrați în modul de editare (dacă stratul roads nu se află deja în modul de editare.

  • Clic pe instrumentul Identify.

  • Faceți clic pe același drum principal pe care l-ați ales mai devreme.

Veți vedea acum că atributul man_made are o casetă de selectare de lângă el, care poate indica True (bifat) sau False (debifat).

6.3.4. hard Try Yourself

Setați un widget mai adecvat pentru câmpul highway.

Check your results

6.3.5. hard Try Yourself Crearea Datelor de Test

Aveți posibilitatea să proiectați, de asemenea, formularul propriu complet de la zero.

  • Creați un simplu strat de tip punct, denumit test-data, având două atribute:

    • Nume (text)

    • Vechimea (text)

../../../_images/new_point_layer.png
  • Capturați câteva puncte de pe noul strat folosind instrumentele de digitizare, așa că veți avea un pic de date cu care să operați. Ar trebui să vedeți în continuare formularul implicit, generat de QGIS, de fiecare dată când capturați un nou punct.

Note

Este posibil să trebuiască să dezactivați Acroșarea, dacă este activată în urma acțiunilor anterioare.

../../../_images/new_point_entry.png

6.3.6. hard Follow Along: Crearea unui Nou Formular

Acum dorim să creăm formularul nostru personalizat pentru faza de captura a datelor atributelor. Pentru a face acest lucru, trebuie să aveți instalat Qt4 Designer (necesar numai pentru persoana care creează formulare). Ar trebui să fie furnizat ca parte a materialelor dumneavoastră de curs, dacă utilizați Windows. Este posibil să trebuiască să-l căutați, dacă utilizați un alt sistem de operare. Pentru Ubuntu, efectuați următoarele în terminal:

Note

La momentul scrierii acestui tutorial, Qt5 este cea mai recentă versiune disponibilă. Cu toate acestea, acest proces necesită în mod specific Qt4, și nu este neapărat compatibil cu Qt5.

sudo apt-get install qt4-designer

... și ar trebui să se instaleze automat. În caz contrar, căutați-l în Software Center.

  • Porniți Designer-ul, prin deschiderea intrării sale din Meniul de Start din Windows (sau oricare altă abordare adecvată din sistemul dvs. de operare).

  • În caseta de dialog care apare, creați un nou dialog:

../../../_images/qt4_new_dialog.png
  • Căutați Widget Box în partea stângă a ecranului (implicit). Aceasta conține un element denumit Line Edit.

  • Faceți clic și trageți acest articol în formular. Aceasta va crea o nouă Linie de Editare în formular.

  • Având selectat noul element de linie de editare, îi veți vedea proprietățile de-a lungul părții laterale a ecranului (din partea dreaptă, în mod implicit):

../../../_images/qt4_line_edit.png
  • Redenumiți-l Name.

  • Folosind aceeași abordare, creați un nou câmp cu incrementare și denumiți-l Age.

  • Adăugați o Etichetă având textul Add a New Person scris cu un font îngroșat (uitați-vă la proprietățile obiectului, pentru a afla cum să efectuați aceste setări). Alternativ, poate doriți să setați titlul dialogului în sine (mai degrabă decât prin adăugarea unei etichete).

  • Faceți clic oriunde, în fereastra de dialog.

  • Găsiți butonul Lay Out Vertically (într-o bară de instrumente din lungul marginii de sus a ecranului, în mod implicit). Acesta va organiza automat fereastra de dialog.

  • Setați dimensiunea maximă a dialogului (în proprietățile sale) la 200 (lățimea) pe 100 (înălțimea).

  • Salvați noul formular ca și exercise_data/forms/add_people.ui.

  • Când salvareaeste gata, puteți închide programul Qt4 Designer.

6.3.7. hard Follow Along: Asocierea Formularului cu Stratul Dvs.

  • Mergeți înapoi în QGIS.

  • Dublu clic pe stratul test-data din legendă, pentru a-i accesa proprietățile.

  • Clic pe fila Câmpuri din dialogul Layer Properties.

  • În caseta cu lista derulantă Attribute editor layout, selectați Provide ui-file.

  • Faceți clic pe butonul cu puncte de suspensie, apoi alegeți fișierul add_people.ui, pe care tocmai l-ați creat:

../../../_images/provide_ui_file.png
  • Clic OK în dialogul Layer Properties.

  • Intrați în modul de editare și capturați un nou punct.

  • Când faceți acest lucru, vă va fi prezentat dialogul personalizat (în loc de cel generic, pe care îl creează de obicei QGIS).

  • Dacă faceți clic pe unul dintre puncte folosind instrumentul Identify, se va deschide acum formularul, făcând clic dreapta în fereastra de identificare a rezultatelor, și alegând View Feature Form din meniul contextual.

  • Dacă sunteți în modul de editare pentru acest strat, meniul contextual vă va prezenta Edit Feature Form în schimb, apoi veți putea ajusta atributele în noul formular, chiar și după captura inițială.

6.3.8. In Conclusion

Folosind formularele, vă puteți face viața mai ușoară, atunci când editați sau când creați date. Prin editarea tipurilor de widget sau pin crearea unui formular cu totul nou, de la zero, puteți controla experiența cuiva care digitalizează date noi, minimizând, astfel, neînțelegerile și erorile inutile.

6.3.9. Further Reading

If you completed the advanced section above and have knowledge of Python, you may want to check out this blog entry about creating custom feature forms with Python logic, which allows advanced functions including data validation, autocompletion, etc.

6.3.10. What’s Next?

Deschiderea unui formular o dată cu identificarea unei entități este una dintre acțiunile standard, pe care o poate efectua QGIS. Cu toate acestea, puteți efectua direct acțiunile personalizate pe care le definiți. Acesta este subiectul lecției următoare.