ПредишенСледващото

Товаро-джаджи и ленти с инструменти

Отдава са джаджи, които могат да бъдат приложени към конкретни области на основното приложение прозорец QMainWindow или са независими "плаващ" прозорци. QMainWindow има четири монтаж площ от джаджи: един по-горе, един по-долу, един от ляво и един от дясно на централната джаджа. В приложения като Microsoft Visual Studio и Qt лингвист, широко използван док прозорци, за да се осигури много гъвкав потребителски интерфейс. В Qt док джаджи са случаи на клас QDockWidget.

Всеки док джаджа има своя дял, дори когато той е свързан. Потребителите могат да се движат док прозорци от една точка до друга привързаност, движещи заглавието на лента. Те могат също така да бъде изключен от закачват зоната за монтаж на прозорци и независим плаващ прозорец направи, с закачват своя прозорец извън зоните на закрепване. Безплатни плаващи прозорци док винаги са "на върха" на основната им прозорец. Потребителите могат да се затварят QDockWidget, като кликнете върху бутона за затваряне намира в заглавната част на приспособлението. Всяка комбинация от тези функции може да бъде деактивирана чрез QDockWidget :: setFeatures () повикване.

Товаро-джаджи и ленти с инструменти - квартет програмиране 4 GUI с

Фиг. 6.13. QMainWindow прикрепена към приспособлението.

В по-ранни версии на лентата с инструменти на Qt разглежда като лапад джаджи, като се използва един и същ монтаж района. Тъй Qt 4 лентата се поставя в собствените си части, разположени по периметъра на централната приспособлението (както е показано на фиг. 6.14) и не могат да се отделят. Ако искате да имате плаваща лента с инструменти, можете просто да го пуснат в QDockWindow.

Товаро-джаджи и ленти с инструменти - квартет програмиране 4 GUI с

Фиг. 6.14. Монтаж площ на панела и приспособления QMainWindow инструменти.

Ъглите означени с прекъснати линии, могат да принадлежат на двете съседни закрепване региони. Например, ние може да зададете в горния ляв ъгъл на лявата зона монтаж, като се обадите QMainWindow :: setCorner (Qt :: TopLeftCorner, Qt :: LeftDockWidgetArea).

Следния кодов фрагмент показва как може да бъде издаден на съществуващ джаджа (в този случай за QTreeWidget) под формата на QDockWidget кожата и я поставете в правилната областта на закрепване:

QDockWidget * shapesDockWidget = нов QDockWidget (TR ( "форми"));

В setAllowedAreas кол () определя допустимите монтажни док прозорците площ. В нашия случай, ние се даде възможност на потребителя да влачите и пускате закачват прозорец само с лява или дясна част на привързаност, където има достатъчно пространство, за да вертикална нормалната си дисплей. Ако допустимата зона не е ясно дефинирана, потребителят може да влачите и пускате закачват прозорец, в който и да е от четирите области.

По-долу е откъс от дизайнер QMainWindow подгрупата, която показва как да създадете лента с QComboBox, QSpinBox QToolButton и няколко бутона:

QToolBar * fontToolBar = нов QToolBar (TR ( "шрифт"));

Ако искаме да се запази позициите на всички док джаджи и ленти с инструменти, за да може да ги възстановите следващия път, когато стартирате приложението, можем да пишем почти същия код, как да се спаси състояние QSplitter разделител, използвайки клас QMainWindow saveState () и restoreState ():

01 невалидни MainWindow :: writeSettings ()

03 QSettings настройки ( "Software Inc.", "Икона Editor");

05 settings.setValue ( "размер", размер ());

06 settings.setValue ( "състояние", saveState ());

09 невалидни MainWindow :: readSettings ()

11 QSettings настройки ( "Software Inc.", "Икона Editor");

Накрая, QMainWindow осигурява контекстно меню, в което всички прозорци док и лентите с инструменти. С това меню, потребителят може да се затвори и да се възстанови док прозорци и ленти с инструменти.

Фиг. 6.15. QMainWindow контекстното меню.

Подкрепете проекта - споделете линка, благодаря!