Forum QGIS
Akcja z warunkiem - Wersja do druku

+- Forum QGIS (http://forum.quantum-gis.pl)
+-- Dział: Desktop GIS (http://forum.quantum-gis.pl/forum-4.html)
+--- Dział: QGIS (http://forum.quantum-gis.pl/forum-5.html)
+--- Wątek: Akcja z warunkiem (/thread-1108.html)



Akcja z warunkiem - wodnik1105 - 05-09-2014

Witam.
Mam pytanie:
1. Jak utworzyć Akcję która otwierałaby np. dokument w pdf tylko wtedy gdy pole z nazwą pliku nie jest puste. Np. coś w tym stylu:
CASE
WHEN ‘’dok_pdf” IS NULL
QtGui.QMessageBox.information(None, , Dla wybranego obiektu brak protokołu odbioru")
ELSE
"D:\EwidencjaSieciWodKan\ Akcje\apri.bat” "[% dok_pdf" %]"
END
ale to nie działa.

2. Jak na własnym formularzu utworzyć przycisk powiązany z Line Edit by wczytać nazwę pliku poprzez bezpośredni wybór pliku – coś jak w formularzu QGISa gdy się ustawi rodzaj edytora na „Nazwa pliku”.


RE: Akcja z warunkiem - sebaq - 09-09-2014

Jeżeli pole 'dok_pdf' jest NULL wówczas standardowa akcja 'Otwórz' nie działa i nie wyświetla żadnego komunikatu. Takie coś zrobiłbym za pomocą funkcji init Phytona.
TUTAJ znajdziesz sposób jak sobie z tym poradzić. Co prawda przykład jest na QGISa 1.* ale w 2 też powinien zadziałać.
Co do samej definicji akcji, która potrafiłaby robić to czego oczekujesz, to powiem że nie słyszałem o takich możliwościach, ale jeżeli takie są to z chęcią się poduczę Wink
Powodzenia!


RE: Akcja z warunkiem - wodnik1105 - 10-09-2014

Witam.
Dzięki za odpowiedz. Przykład o którym mówisz próbowałem przetestować lecz po uruchomieniu pojawia się komunikat - "Wystąpił błąd podczas wykonywania kodu Pythona:
Traceback (most recent call last):
File "D:/_PRACA/2_Valdacja\War.py", line 23, in validate
if not nameField.text().length() > 0:
AttributeError: 'unicode' object has no attribute 'length'
Co tym zrobić?
Pozdrawiam.


RE: Akcja z warunkiem - sebaq - 15-09-2014

może brakuje jakiejś biblioteki ... spróbuj zapisu:
if len(nameField.text()) < 0:
Może pomoże Wink
Pozdrawiam!