Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2014 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu dotyczącego programowania obiektowego. Jest on udostępniony pod warunkiem wykorzystania wyłącznie do własnych prywatnych potrzeb i może on być kopiowany wyłącznie w całości, razem z niniejszą stroną tytułową.
Niniejsza prezentacja została wykonana przy użyciu systemu składu PDFL A TEX oraz stylu beamer, którego autorem jest Till Tantau. Strona domowa projektu Beamer: http://latex-beamer.sourceforge.net
1 Designer podstawowe własności
Aplikacja designer
Aplikacja designer 1 Wybór rodzaju komponentu 2 Ustalenie własności tworzonego komponentu. Nazwa wpisywana w polu objectname staje się nazwą klasy tworzonego komponentu.
Aplikacja designer Klawisz pobieramy z okna narzędziowego. Własności i nazwę pola wskaźnikowego modyfikujemy w edytorze własności.
Łączenie sygnałów i slotów Przejście do trybu edycji sygnałów. Myszką łączymy wybrane kontrolki. W dialogu wyboru połączeń dokonujemy zestawiania odpowiedniego sygnału i slotu.
Łączenie sygnałów i slotów
Plik opisów kompontentów: wlasne okno.ui <?xml version="1.0" encoding="utf-8"?> <ui version="4.0"> <class>mojeokienko</class> <widget class="qwidget" name="mojeokienko"> <property name="geometry"> <rect> <x>0</x> <y>0</y> <width>326</width> <height>231</height> </rect> </property> <property name="windowtitle"> <string>okieno</string> </property> <widget class="qpushbutton" name="_przyciskkoniec"> <property name="geometry"> <rect> <x>90</x> <y>70</y> <width>141</width> <height>91</height> </rect> </property> <property name="font">
Korzystanie z komponentów tworzonych przez designer a Użycie bezpośrednie umieszenie komponentu w okienku tworzonym przez jedną ze standardowych klas (np. QWidget, QDialog itp.) Dziedziczenie jednokrotne deklaracja komponentu jako pole w klasie dziedziczącej jedną ze standardowych klas (np. QWidget, QDialog itp.) tworzących okienko Dziedzieczenie wielokrotne zdefiniowanie klasy dziedziczącej komponent oraz jedną ze standardowych klas (np. QWidget, QDialog itp.) tworzących okienko
Użycie bezpośrednie #include komponent.h #include <QApplication> #include <QDialog> int main( int argc, char argv[ ] ) { QApplication app( argc, argv ); QDialog wokno = new QDialog; Ui::Komponent Komp; Komp.setupUi( wokno ); } wokno >show( ); return app.exec( );
Dziedziczenie jednokrotne class OkienkoZPrzyciskiem : public QDialog { Q OBJECT public : OkienkoZPrzyciskiem( QWidget rodzic = 0 ); private : Ui::Komponent ui; }; OkienkoZPrzyciskiem::OkienkoZPrzyciskiem( QWidget rodzic) : QDialog( rodzic ) { ui.setupui( this ); // Dodatkowe ustawienia // Wywołanie metody nadającej nazwy // Połączenia sygnałów i slotów }
Dziedziczenie wielokrotne class OkienkoZPrzyciskiem : public QDialog, private Ui::Komponent { Q OBJECT public : OkienkoZPrzyciskiem( QWidget rodzic = 0 ); }; OkienkoZPrzyciskiem::OkienkoZPrzyciskiem( QWidget rodzic) : QDialog( rodzic ) { setupui( this ); // Dodatkowe ustawienia // Wywołanie metody nadającej nazwy // Połączenia sygnałów i slotów }
Koniec prezentacji Dziękuję za uwagę