Dock widgetek és eszköztárak - qt 4 gui programozás

Dock widgetek és eszköztárak

Tulajdonít a widget, hogy lehet csatolni meghatározott területeken a fő ablak QMainWindow alkalmazás vagy független „lebegő” ablak. QMainWindow négy rögzítő területe kütyü: az egyik a fent egymás alatt, az egyik a bal, egyet a jobb a központi modul. Az alkalmazások, mint például a Microsoft Visual Studio és a Qt Linguist, széles körben használják dokkoló ablakot, hogy egy nagyon rugalmas felhasználói felület. A Qt dokkoló widget osztály egyedeire QDockWidget.







Minden dokkoló modul saját címmel, akkor is, ha csatlakoztatva van. A felhasználók mozgatni dokkoló ablakok egyik kapcsolódási pont a másik, mozgó a szalag cím. Azt is le kell választani a rögzíthető ablakot szerelési területen, és ez független lebegő ablakban, annak rögzíthető ablakot területeken kívül a mellékletet. Szabad úszódokk ablakok mindig „fent” a fő ablakban. A felhasználók bezárhatja a QDockWidget, kattintson a bezárás gombra a fejlécben a widget. Ezek bármilyen kombinációja funkciók segítségével kikapcsolható QDockWidget :: setFeatures () hívást.

Dock widgetek és eszköztárak - qt 4 gui programozás

Ábra. 6.13. QMainWindow csatlakozik a widget.

A korábbi verziók Qt eszköztár tekinthető dokkoló kütyü, ugyanazt a szerelési területen. Mivel Qt 4 eszköztár elhelyezni saját területén található, a kerülete a központi modult (ábrán látható. 6.14) és nem tud elszabadulni. Ha azt szeretnénk, hogy egy lebegő eszköztár, akkor egyszerűen tedd be QDockWindow.







Dock widgetek és eszköztárak - qt 4 gui programozás

Ábra. 6.14. Szerelés területe a panel és widgetek QMainWindow eszközöket.

A szögek szaggatott vonal jelzi, tartozhat a két szomszédos régiók mellékletet. Például tudtuk hozzárendelni a bal felső sarokban a bal szerelési területen hívja QMainWindow :: setCorner (Qt :: TopLeftCorner, Qt :: LeftDockWidgetArea).

A következő kódrészlet megmutatja, hogyan kell egy meglévő modult (ebben az esetben QTreeWidget) lehet kiadni formájában bőr QDockWidget és helyezze a megfelelő területen kapcsolódási:

QDockWidget * shapesDockWidget = új QDockWidget (TR ( "alakzatok"));

A call setAllowedAreas () meg a megengedett beépítési terület dokkoló ablakok. A mi esetünkben, hogy a felhasználó drag and drop rögzíthető ablakot csak a jobbra vagy balra a kapcsolódás, ahol elég függőleges tér a normál kijelző. Ha a megengedett területen nem egyértelműen meghatározott, a felhasználó drag and drop rögzíthető ablakot kapcsolatba a négy területen.

Az alábbiakban egy részletet a tervező QMainWindow alosztály, amely azt mutatja, hogyan lehet létrehozni egy eszköztár, amely QComboBox, QSpinBox QToolButton és több gomb:

QToolBar * fontToolBar = új QToolBar (TR ( "Font"));

Ha azt akarjuk, hogy fenntartsák a pozíciókat az összes dokkoló widgetek és eszköztárak, hogy képes helyreállítani őket a következő alkalommal futtatja az alkalmazást, írhatunk szinte ugyanazt a kódot, hogyan kell menteni az állam QSplitter szeparátor segítségével osztály QMainWindow saveState () és restoreState ():

01 void MainWindow :: writeSettings ()

03 QSettings beállítások ( "Software Inc.", "Icon Editor");

05 settings.setValue ( "méretű", mérete ());

06 settings.setValue ( "állam", saveState ());

09 void MainWindow :: readSettings ()

11 QSettings beállítások ( "Software Inc.", "Icon Editor");

Végül egy QMainWindow egy helyi menü, amelyben az összes dokkoló ablakok és eszköztárak. Ebben a menüben a felhasználó bezárhatja és helyreállítása dokkoló ablakok és eszköztárak.

Ábra. 6.15. QMainWindow menüből.