Qt - od suwaków do głównego okna
Transkrypt
Qt - od suwaków do głównego okna
Qt - od suwaków do głównego okna Bogdan Kreczmer ZPCiR ICT PWR pokój 307 budynek C3 [email protected] Copyright c 2003 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat programowania obiektowego. Jest on udost˛epiony pod warunkiem wykorzystania wyłacznie ˛ do własnych prywatnych potrzeb i może on by ć kopiowany wyłacznie ˛ w całości, razem z ninijesza˛ strona˛ tytułowa. ˛ Inteligentne suwaki class GlowneOkno : public QScrollView { public: GlowneOkno( QWidget rodzic=0, const char nazwa=0 ); }; GlowneOkno::GlowneOkno(QWidget rodzic=0, const char nazwa=0) { setGeometry(10,10,260,40); QWidget PoleOkna = new QWidget( viewport() ); PoleOkna- resize(300,70); QPushButton Przycisk = new QPushButton("Koniec", PoleOkna ); Przycisk- setGeometry(110,10,100,50); connect( Przycisk, SIGNAL(clicked()), qApp, SLOT(quit())); addChild( PoleOkna ); } int main( int argc, char argv ) { QApplication Aplikacja( argc, argv ); GlowneOkno Okno; Aplikacja.setMainWidget( &Okno ); Okno.show(); return Aplikacja.exec(); } Kontrolka z menu class GlowneOkno : public QWidget { public: GlowneOkno( QWidget rodzic=0, const char nazwa=0 ); }; GlowneOkno::GlowneOkno(QWidget rodzic=0, const char nazwa=0) { setGeometry(10,10,260,80); QPopupMenu Pliki = new QPopupMenu(); Pliki- insertItem("Wyjście", qApp,SLOT(quit())); Pliki- insertItem("Zapisz"); Pliki- insertItem("Otwórz"); QPopupMenu Opcje = new QPopupMenu(); Opcje- insertItem("Dodatkowa możliwość"); QMenuBar BelkaMenu = new QMenuBar(this ); BelkaMenu- insertItem("Pliki",Pliki); BelkaMenu- insertItem("Opcje",Opcje); } int main( int argc, char argv ) { ... } Standardowe okno aplikacji StGlowneOkno::StGlowneOkno(QWidget rodzic=0, const char nazwa=0) { setGeometry(10,10,260,120); QPopupMenu Pliki = new QPopupMenu(); Pliki- insertItem("Wyjście", qApp, SLOT(quit())); Pliki- insertSeparator(); Pliki- insertItem("Zapisz"); Pliki- insertItem("Otwórz"); QPopupMenu Opcje = new QPopupMenu(); Opcje- insertItem("Dodatkowa możliwość"); menuBar()- insertItem("Pliki",Pliki); menuBar()- insertItem("Opcje",Opcje); QPixmap IkonaWyjscia("../XPM/exit.xpm"); QPixmap IkonaZapisu("../XPM/floppyIcon.xpm"); QToolBar BelkaNarzedzi = new QToolBar(this ); new QToolButton(IkonaWyjscia,"Wyjście","Zakończenie aplikacji", qApp, SLOT(quit()), BelkaNarzedzi); new QToolButton(IkonaZapisu,"Zapis","Zapis pliku na dysk", this , SLOT(Zapis()), BelkaNarzedzi); setCentralWidget( new QMultiLineEdit(this ) ); statusBar(); }