Forum QGIS

Pełna wersja: Formularze dla edycji danych
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Stron: 1 2 3 4
Po długiej nieobecności związanej z koniecznością zajęcia się innymi "nagle bardzo ważnymi" sprawami postanowiłem powrócić do tematu i odgrzać trochę ten wątek. W międzyczasie spotkała mnie reinstalacja systemu co pozwoliło mi wyeliminować inne przyczyny ewentualnych błędów wyskakujących w QGIS przy obrabianiu formularza. Niestety samych błędów się nie pozbyłem. Próbowałem odtworzyć projekt Rayo kopiując kod i zapisując zgodnie z instrukcjami według opisu. Stan jest taki, że QGIS (1.7.1) podczytuje plik .ui (formularz z radio i listą) natomiast nie działają chyba funkcje.
Kiedy próbuję dodać punkt w trybie edycji warstwy dostaję dwa komunikaty.

Pierwszy:

Cytat:Wystąpił błąd podczas wykonywania następującego kodu:
import pory_roku_funkcje


Traceback (most recent call last):
File "", line 1, in
File "C:/OSGeo4W/apps/qgis/./pythonqgisutils.py", line 283, in _import
mod = _builtin_import(name, globals, locals, fromlist, level)
ImportError: No module named pory_roku_funkcje


Wersja Pythona:
2.5.2 (r252:60911, Feb 21 2008, 13:11:45) [MSC v.1310 32 bit (Intel)]

Wersja QGIS:
1.7.1-Wroclaw 'Wroclaw', e6718b6

Lokalizacja Pythona:
['C:/OSGeo4W/apps/qgis/./python', 'C:/Documents and Settings/lukaszbrylak/.qgis/python', 'C:/Documents and Settings/lukaszbrylak/.qgis/python/plugins', 'C:/OSGeo4W/apps/qgis/./python/plugins', 'C:\OSGeo4W\bin\python25.zip', 'C:\OSGeo4W\apps\Python25\DLLs', 'C:\OSGeo4W\apps\Python25\lib', 'C:\OSGeo4W\apps\Python25\lib\plat-win', 'C:\OSGeo4W\apps\Python25\lib\lib-tk', 'C:\OSGeo4W\apps\qgis\bin', 'C:\OSGeo4W\apps\Python25', 'C:\OSGeo4W\apps\Python25\lib\site-packages', 'C:\OSGeo4W\apps\Python25\lib\site-packages\win32', 'C:\OSGeo4W\apps\Python25\lib\site-packages\win32\lib', 'C:\OSGeo4W\apps\Python25\lib\site-packages\Pythonwin', 'C:\OSGeo4W\apps\Python25\lib\site-packages\wx-2.8-msw-unicode', 'C:\OSGeo4W\apps\qgis\python\plugins\fTools\tools', 'C:/Warstwy']

Drugi:

Cytat:Wystąpił błąd podczas wykonywania następującego kodu:
pory_roku_funkcje.inicjacja(_qgis_featureform_1,'pory_roku20120207131150000',0)


Traceback (most recent call last):
File "", line 1, in
NameError: name 'pory_roku_funkcje' is not defined


Wersja Pythona:
2.5.2 (r252:60911, Feb 21 2008, 13:11:45) [MSC v.1310 32 bit (Intel)]

Wersja QGIS:
1.7.1-Wroclaw 'Wroclaw', e6718b6

Lokalizacja Pythona:
['C:/OSGeo4W/apps/qgis/./python', 'C:/Documents and Settings/lukaszbrylak/.qgis/python', 'C:/Documents and Settings/lukaszbrylak/.qgis/python/plugins', 'C:/OSGeo4W/apps/qgis/./python/plugins', 'C:\OSGeo4W\bin\python25.zip', 'C:\OSGeo4W\apps\Python25\DLLs', 'C:\OSGeo4W\apps\Python25\lib', 'C:\OSGeo4W\apps\Python25\lib\plat-win', 'C:\OSGeo4W\apps\Python25\lib\lib-tk', 'C:\OSGeo4W\apps\qgis\bin', 'C:\OSGeo4W\apps\Python25', 'C:\OSGeo4W\apps\Python25\lib\site-packages', 'C:\OSGeo4W\apps\Python25\lib\site-packages\win32', 'C:\OSGeo4W\apps\Python25\lib\site-packages\win32\lib', 'C:\OSGeo4W\apps\Python25\lib\site-packages\Pythonwin', 'C:\OSGeo4W\apps\Python25\lib\site-packages\wx-2.8-msw-unicode', 'C:\OSGeo4W\apps\qgis\python\plugins\fTools\tools', 'C:/Warstwy']

Następnie pojawia sie formularz ale mimo przełączania pór roku nie pojawiają sie miesiące. Oczywiście przy zamykaniu QGIS pokazuje błąd ale do tego doszedłem już dużo wcześniej.
Cytat:...
Kod należy zapisać w pliku pory_roku_funkcje.py w katalogu z projektem.
...
Być może robiłem błąd bo zapisałem plik .py w tym miejscu co .ui formularza. Teraz skopiowałem go do katalogu z plikiem projektu czyli .qgs (własciwie jest w obu tych lokalizacjach). Błedy nadal wyskakują mimo ponownego uruchomienia qgisa....

Teraz zrobiłem jeszcze tak że wsystkie pliki zapisane są w jednym katalogu: .ui, .py, .qgs, .shp. Problem nadal taki sam....
Hmm, ciekawe. Ja dziś powtórzyłem wszystkie czynności, tak jak są opisane i działa. Błędy mi sypało, jak zapisałem przez pomyłkę plik z kodem pythona do innego katalogu niż projekt.
Nie masz jakiejś literówki w nazwie pliku .py? Jak zapisywałem plik z przeglądarki i dodałem rozszerzenie .py to dodawało mi je po .txt. Może u Ciebie zrobiło podobnie i trzeba to skasować ręcznie?
Żeby pozbyć się błędu skopiowałem nawet nazwę pliku z... nazwy pliku Smile rozszerzenie jest dobre bo .py ma od razu inna ikonę niż .txt poza tym mam włączone pokazywanie rozszerzeń.... dodatkowo słowo inicjacja skopiowałem z deklaracji funkcji bo już mi się mieniło w oczach i tez podejrzewałem sie o takie błędy Smile Boję się że ciągle mam jakiś problem z pythonem na komputerze. Choć przed reinstalką nie działały mi nawet wtyczki w QGIS, a teraz nie mam z tym problemu... Wszystkie pliki są w jednym folderze i nie wiem co jeszcze mogę zrobić...
Spróbuj jeszcze tak: uruchom QGIS i wczytaj projekt (z tego co widziałem to masz go w katalogu 'C:/Warstwy', w tym samym katalogu musi być też plik 'pory_roku_funkcje.py'); wejdź w menu wtyczki i uruchom konsolę Pythona, wpisz 'import pory_roku_funkcje' i naciśnij enter.
Pojawił się jakiś błąd czy znak zachęty '>>>'?
Ja tylko uściślę, jak to jest z tymi ścieżkami. Plik pory_roku_funkcje.py musi być w katalogu, w którym qgis szuka modułów Pythona – czyli w dowolnym z tej listy na końcu każdego komunikatu błędu (na tej liście jest katalog projektu, o ile jakiś jest otwarty). Położenie innych plików nie ma znaczenia.

Jeśli plik znajduje się w którymś z tych katalogów, a w konsoli Pythona nie daje się zaimportować, to albo coś jest nie tak z Pythonem, albo z plikiem Wink Gdybyś mógł go podesłać, to byśmy spojrzeli Smile
Pliki są załącznikami do wcześniejszych postów w tym wątku. Trzeba im tylko zmienić rozszerzenia na .ui i .py
Aaaa, tamte? No to one są ok.

Jeśli katalog z plikiem pory_roku_funkcje.py znajduje się na liście ścieżek w komunikacie błędu, a w ścieżce nie ma żadnych ogonków, to dziwne, że go nie znajduje. "C:/" w ścieżce nie powinno przeszkadzać, Qt to sobie przetłumaczy (zresztą przy wtyczkach też jest). Gdyby w treści pliku coś było uszkodzone, to by wyskoczył błąd np. składni podczas importu, a tutaj import w ogóle nie następuje (pierwszy komunikat). Cóż, inicjacja bywa bolesna...
Żeby wykluczyć jeszcze jakieś inne nieprzewidziane sytuacje stworzyłem na dysku e katalog test w którym sa tylko pliki tego projektu (w poprzednim katalogu było więcej różnych innych śmieci). Próba zaimportowania pliku z konsoli zakończyła sie błędem
Cytat:Traceback (most recent call last):
File "<input>", line 1, in <module>
File "C:/OSGeo4W/apps/qgis/./pythonqgisutils.py", line 283, in _import
mod = _builtin_import(name, globals, locals, fromlist, level)
File "E:/testpory_roku_funkcje.py", line 1
-*- coding: utf-8 -*-
^
SyntaxError: invalid syntax

Wysyłam jeszcze pliki na których działam bo może jednak coś źle skopiowałem i.... sam już nie wiem. Rayo gdybyś mógł sprawdzić czy te moje pliki działają u Ciebie to będe miał pewność, że one są dobre.
Stron: 1 2 3 4