Ocena wątku:
  • 0 Głosów - 0 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
Formularze dla edycji danych
08-02-2012, 12:37,
#31
RE: Formularze dla edycji danych
W pliku 'pory_roku_funkcje.txt' brakuje znaku '#' na początku.
Nie kopiuj zawartości pliku z treści strony, tylko pobierz cały plik 'pory_roku_funkcje.txt' (jest w jednym z poprzednich postów). Wtedy będziesz miał pewność, że nic nie uciekło podczas kopiowania.

Generalnie wygląda na to, że jesteś krok dalej, bo nie ma już komunikatu o braku modułu 'pory_roku_funkcje', tylko o błędzie w jego treści. Jeśli treść będzie poprawna to powinno ruszyć.
08-02-2012, 13:15,
#32
RE: Formularze dla edycji danych
No dobra, mój błąd Smile Teraz wszystko działaSmile Zabieram sie zatem do pracy nad przerobieniem tego na własny projekt.
Bardzo Wam dziękuję za pomoc ale obawiam sie, że jeszcze wątek będę odgrzewał bo nie czuję się w tym pewnieSmile
08-02-2012, 14:26,
#33
RE: Formularze dla edycji danych
Dobra. Pierwszy problem.
W przykładzie, który podałeś są radioButtony umieszczone na GroupBox. Podobne rozwiazanie chciałem zastosować ja. W zalezności od tego które radio wybierzesz pozostałe elementy formularza maja być dostępne w określonym zakresie. Problem jest taki, że potrzebuję zapisac równiez w tabeli wynik wyboru na GroupBox. W przypadku pojedyńczych pól lub innych elementów formularza wystarczy je nazwać tak jak kolumny w tabeli aby wartość została zapisana w odpowiednim polu. Natomiast tutaj to nie działa w ten sposób. Nazwanie groupBox tak jak kolumny w tabeli nie powoduje zapisu wyboru odpowiedniego radioButtona. Innymi słowy: jak byś rozwiązał problem zapisu w tabeli atrybutów z Twojego przykładu pory roku? Zakładając, że tabela atrybutów będzie miała kolumny pora_roku i miesiac. Wybierasz w formularzu wiosnę i kwiecień. W tabeli atrybutów zapis miesiąca jest prosty bo ComboBox będzie miał nazwę miesiac. Jak można zapisać porę roku?
08-02-2012, 19:56,
#34
RE: Formularze dla edycji danych
Możesz np. w oknie dialogowym dorobić pole typu LineEdit o nazwie 'pora_roku' i w funkcjach 'menuWiosna' (lato itd) wstawiać do niego odpowiednią wartość poprzez 'pora_roku.setText('Wiosna')'.
Pole to możesz ukryć jeśli będzie przeszkadzało.
09-02-2012, 15:18, (Ten post był ostatnio modyfikowany: 09-02-2012, 15:44 {2} przez brylu.)
#35
RE: Formularze dla edycji danych
Muszę przyznać, że trochę się to ruszyło do przodu. Nawet trochę bardzoSmile
Napotkałem jednak jeszcze jeden problem. Łatwy w sumie do ominięcia ale może da się jednak prościej. W dwóch miejscach na formularzu muszę wstawić datę. Mam do tego dwa obiekty. Calendar albo Date Edit. Pierwsze rozwiązanie jest ładne ale zajmuje dużo miejsca na formularzu i nie dodaje poprawnie daty do tabeli atrybutów (nie wiem czemu ale zapisuje mi tylko rok). Drugie jest pod tym kątem lepsze (tym bardziej, że można włączyć calendarPopup), niestety nie wiem jak ustawić aby przy wywołaniu formularza pokazywała sie tam aktualna data. Jedyne co przyszło mi do głowy ( i to działa - sprawdziłem) to dodanie do formularza obu obiektów i połączenie ich w taki sposób, że wybór daty na Calendar (gdzie zawsze pokazuje się aktualna data) jest przesyłany do Date Edita (który jest ukryty) i dopiero z niego zapisywana jest informacja do tabeli atrybutów. Niestety odbywa sie to kosztem miejsca na formularzu. Zastanawia mnie czy da się zmusić w jakiś inny sposób Date Edit do pokazywania aktualnej daty.

I jeszcze jedna rzecz mnie zastanawia. Czy do Check Boxa można przypisać wartości tak/nie zamiast 0/1?
09-02-2012, 17:34, (Ten post był ostatnio modyfikowany: 09-02-2012, 18:01 {2} przez Rayo.)
#36
RE: Formularze dla edycji danych
Co do daty to można zrobić w ten sposób:

Kod:
    data = okno.findChild(QDateEdit,"data")
    data.setDate( QDate().currentDate() )

QT ma bardzo dobrą dokumentację pod adresem http://doc.qt.nokia.com/qt5/classes.html
Radio Button przesyła Ci dane do tabeli w QGIS? Mi jakoś nie bardzo.

Dla Check Boxa można przypisać dane 'wybrane/nie wybrane' w QGISie. Na formularzu QT stawiasz Check Boxa i nazywasz tak jak kolumnę w tabeli atrybutów. Następnie wchodzisz na właściwości warstwy i zakładce 'pola' ustawiasz edytor dla tej kolumny na 'pole wyboru' i wpisujesz pasujący Ci tekst.
10-02-2012, 12:20,
#37
RE: Formularze dla edycji danych
Jeszcze raz bardzo dziękuję za pomoc. Jeśli chodzi o RadioButton to nie przesyłałem z niego informacji bezpośrednio do tabeli. Wykorzystałem patent z Twojego przykładu oraz pośrednie pole LineEdit. To że RadioButton nie zapisuje bezpośrednio do tabeli może być związane z tym że zwraca on tylko jedną wartość. Kiedy jest odznaczony to jest NULL, a dopiero zaznaczenie może być jakąś informacją. Dodatkowo pojedynczego RadioButtona nie mozna odznaczyć. Check Box zwraca zawsze 0 lub 1... Nie wiem. To tak na logikę trochę...


Podobne wątki
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
Bug Od danych punktowych przez interpolację do danych dla obszarów onkolog 7 26 654 05-07-2017, 16:51
Ostatni post: Italiano
  Zlecę napisanie skryptu dla QGIS do automatycznej edycji wielu plików SHP Matteusz 3 16 083 30-06-2017, 22:24
Ostatni post: bociusek
  Formularze i relacje fcs 0 6 073 17-05-2016, 23:31
Ostatni post: fcs
  Definicja bazy danych dla warstw fcs 0 6 871 20-12-2014, 17:09
Ostatni post: fcs
  menu 'akcje' w formularzu edycji QGIS 2.6 sebaq 0 7 769 05-11-2014, 20:56
Ostatni post: sebaq
  tryb edycji pitt 4 23 363 13-10-2010, 21:45
Ostatni post: msieczka
  Formularze QT Rayo 5 27 020 31-07-2010, 17:47
Ostatni post: Rayo
  Dostepność danych dla Polski jetron 3 21 899 28-04-2010, 09:36
Ostatni post: Odoakr

Skocz do: