Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaAlajos Pintér Megváltozta több, mint 9 éve
1
Szebb és használhatóbb programok Vezérlőelemek dinamikus felhelyezése
2
Statikus kezelőfelületek Pro Könnyű létrehozni Gyorsan módosítható Nem kell számolgatni Kontra Nem alkalmazkodik a változásokhoz Több ablakra (formra) van szükség A szerkesztéséhez keretprogram kell
3
Dinamikus kezelőfelületek Pro Az igényeknek megfelelő elrendezés Elég egy form Módszertanilag elegánsabb megvalósítás Kontra Nehezebb létrehozni Több időbe kerül (újra) átlátni Esetenként sok számolást igényel
4
Microsoft.NET Visual Studio .Designer.cs és.cs fájl (mert a help használata nehézkes) Mintaelem létrehozása, attribútumok beállítása (designer) Kezelés ellesése (.Designer.cs)
5
Trolltech QT Designer .ui és.ui.h fájl (mert az assistant sem jobb) Mintaelem fölrakása, tulajdonságok, kapcsolatok beállítása (designer).ui →.h és.cpp (uic)
6
.ui fájl XML formátum Elődeklaráció: Változó: Tagfüggvény: Slot: Attribútumok: Hozzáférés: access (protected, private) Visszatérés típusa: returnType
7
Hasonlóságok, eltérések #1.NET Button b = new Button(); this.Controls.Add(b); b.Name = ”PushMe”; b.Location = Location(10, 10); b.Size = new Size(96, 32); b.Text = ”Push me!”; b.Click += new System.EventHandler(pushed); b.Show(); QT QPushButton b = new QPushButton(this, ”PushMe”); b->setGeometry( QRect(10, 10, 96, 32)); b->setText(”Push me!”); connect(b, SIGNAL(clicked()), this, SLOT(pushed())); b->show(); Fontos! Elhagyhat ó
8
Hasonlóságok, eltérések #2.NET void pushed(object sender, EventArgs e) { Button b = (Button) sender; string name = b.Name; b.BackColor = Color.Green;... } QT void pushed() { QPushButton b = (QPushButton) sender(); QString name = b->name(); b->setPaletteBackgroundColor (QColor(0, 0, 255));... }
9
Gombsor létrehozása (.NET) #1 private Button[] btn;... void update(int size) { // removing controls... foreach(Button b in btn) this.Container.Remove(b); // we don’t need to ‘delete’ anything, // the garbage collector will clean up the mess...
10
Gombsor létrehozása (.NET) #2... // creating controls... btn = new Button[size]; for(int i = 0; i < size; ++i) { btn[i] = new Button(); btn[i].Location = new Location(10 + 32 * size, 10); btn[i].Size = new Size(32, 32); btn[i].Text = i.ToString(); this.Container.Add(btn[i]); }
11
Gombsor létrehozása (QT) #1 private QPushButton** btn;... void update(int size) { // this widget takes control // of the replaced buttons QWidget w(); for(int i = 0; i < size; ++i) btn[i]->reparent(&w, QPoint(0, 0)); // destroy container delete[] btn;...
12
Gombsor létrehozása (QT) #2... // create container btn = new button[size]; // and the new row... for(int i = 0; i < size; ++i) { btn[i] = new QPushButton(this); btn[i]->setGeometry(QRect(10 + 32 * size, 10, 32, 32)); btn[i]->setText(QString().setNum(i)); btn[i]->show(); }
13
Példa: moziterem Microsoft.NETTrolltech QT
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.