Forum QGIS

Pełna wersja: Akcja z warunkiem
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
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”.
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!
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.
może brakuje jakiejś biblioteki ... spróbuj zapisu:
if len(nameField.text()) < 0:
Może pomoże Wink
Pozdrawiam!