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();
}