wtorek, 14 marca 2017

Plik z ustawieniami i rozdzielczości ekranu.

Postanowiłem dodać możliwość zapisywania i odczytywania ustawień programu z pliku. Jak na razie znalazły się tam ustawienia związane z rozdzielczością ekranu i inne ustawienia związane z wyświetlaniem obrazu. Wszystkie wartości ustawień przechowywane są w pliku tekstowym, dzięki czemu użytkownik może je edytować ręcznie, ale również wczytywanie opcji i wartości do klasy nie sprawia żadnych problemów.

Dostrzegłem też spory błąd. Kodowałem rozmiary i położenie elementów formularza w sposób statyczny, to znaczy używałem zmiennych, ale były one wykorzystywane w nieodpowiedni sposób i nie dawały odpowiedniego efektu. Przerobię to w ten sposób, że rozmiary i położenie zagnieżdżonych elementów będzie obliczane na podstawie tychże obiektów nadrzędnych. W ten sposób wielokrotne zagnieżdżanie obiektów będzie miało większe znaczenie i będzie lepiej użyte, poprzez zastosowanie relacji "parent-child/children".

Testowałem również reakcję elementów na zmianę wielkości okna, poprzez przeciąganie jego krawędzi, znalazłem jedno rozwiązanie, ale nie było ono zbyt ładne. Wymagało każdorazowej konfiguracji elementów, poprzez zastosowanie metody "config". Mimo, że takie rozwiązanie jest proste i działa, to jego złożoność rośnie wraz z wzrastającą ilością elementów. Niestety w takim przypadku łatwo o błędy, a i sam kod nie będzie zbyt czytelny.

Utworzyłem również wirtualną maszynę na której zainstalowałem Linuxa. Nie wiem czy będę prowadził wsparcie dla tego systemu. Na razie służy to tylko i wyłącznie testom. Nigdy nie zagłębiałem się w różnicę między skryptami Pythona na Windowsa i Linuxa. Różnice są, a jedną z tych o której mi wiadomo jest obsługa rolki myszki. Ta funkcjonalność będzie ważna ponieważ przewiduję zaprogramować funkcję przybliżania i oddalania zdjęcia w oknie programu, z użyciem kombinacji klawisza "Ctrl" oraz kółka myszy. Takie rozwiązanie zastosowano w wielu programach graficznych i jeśli ktoś miał z nimi styczność, jest bardzo intuicyjne.

Brak komentarzy:

Prześlij komentarz