PyQT bez QTDesignera
Opis podstawowych modułów i komponentów biblioteki PyQt3 zawierający proste klasy uruchamiające aplikacji z programowo stworzonym interfejsem graficznym
QTDesigner dobry jest przy rysowaniu widgetów lecz edytor tekstowy ma tragiczny. Również w przypadku złożonych projektów narzędzie to nie jest zbyt przyjazny. Niniejszy tutorial opisuje programowanie z PyQT bez uwzględniania QtDesignera.Oto prosty przykład Kod z tego przykładu wyświetli prosty przycisk, QPushButton. Zaprezentowany przykład obowiązuje dla wszystkich aplikacji - tworzymy obiekt QApliaction, przypisujemy główny widget i wszystko wyświetlamy.
Oto nieco bardziej rozbudowany przykład: W tym przykładzie tworzymy klasę dziedziczącą po QMainWindow - widgecie głównym oknie, w którym możemy umieszczać inne widgety, np. za pomocą metody setCentralWidget. Kolejną nowością są sygnały i sloty. QT zawiera zestaw własnych sygnałów - np. kliknięto na przycisk oraz slotów - akcji, np. zakończ program. Można tworzyć własne sloty jak również tworzyć własne sygnały, o czym później. Teraz przykład definiowania własnego sygnału: Wciskanie przycisku spowoduje wyświetlanie w konsoli tekstu "wcisniety przycisk".
Rozmiar widgetów, wiele widgetów w jednym oknie
Oto trochę zmodyfikowany ostatni przykład: self.identyfikator_widgeta.setGeometry(QRect(x,y,długość,wysokość)) - gdzie x to odległość od lewego boku, y - odległość od góry; określa rozmiar widgeta. W powyższym przykładzie mamy 2 przyciski obok siebie. Tworząc interfejs można sobie narysować widgety w designerze a potem za pomocą pyuic wygenerować plik *py i wyciągnąć z niego namiary widgetów :) Reszta programowania przebiega tak samo jak opisano w poprzednich artykułach. Wystarczy wziąć powyższy przykład jako szablon i do dzieła :)
RkBlog