Слайд 2
Құрастырылым менеджерлері (layout managers)
Құрастырылым менеджерлері көлденең, тік және кестелік орналастыруға мүмкіндік береді.
Олар тек виджеттердің орналастыруымен ғана емес және кіріктірілген құрасытырылымдарды да басқаруға қабілетті. Бұл күрделі орналастыруларды құрастыруға мүмкіндік береді.
Слайд 3
QLayoutItem класс
Барлық құрастырылым менеджерлері тобының негізі болып QLayout класы болып табылады. Бұл
QObject және QLayoutItem (4 слайд) класстарынан бірден туындаған абстрактілі класс. Бұл класс QLayout тақырыптық файылынан анықталған.
Слайд 4
Құрастырылым менеджерлері (layout managers) иерархиясы
Слайд 5
QLayout классы
Ескерту:өзінің құрастырылым класын құру – өте сирек құбылыс, өйткені Qt ұсынатын
стандартты орналастыру класстарымен тәжірибелік түрде барлық орналастыру міндеттерін шешуге болады. Бірақ, өзіңіздің құрастырылым менеджерін құру қажеттігі туындаса, онда QLayout класын addItem(), count(), setGeometry(), takeAt() және itemAt() әдістерін іске асырып қолдануға болады.
Слайд 6
QLayout класынан QGridLayout және QBoxLayout класстары тарайды (4 слайд). QGridLayout класы кестелік
орналастыруды басқарады, ал QboxLayout класы QHBoxLayout (көлденең) және QVBoxLayout (тік) класстарына бөлінеді
Слайд 7
Виджеттерді көлденең орналастыру
Слайд 8
setSpacing() setMargin() әдістері
Виджеттер арасында кішкентай аралық қалады. Бұл аралық визуалды бөлу үшін қажет.
Оны setSpacing() әдісіне керекті белгіні пикселмен жіберіп жасауға болады. setMargin() әдісімен құрастырылым шекарасынан виджеттердің шегінісін орнатуға болады, негізгі белгілер болып 5 және 10 пикселдер болып табылады. 8 слайд бұл әдістерді көлденең мысалда көрсетеді.
Слайд 9
addWidget(), addLayout() removeWidget() әдістері
addWidget() әдісінің көмегімен құрастырылымға виджеттерді қосу орындалады, ал addLayout()
көмегімен орнатылған құрастырылым менеджерлерін қосуға болады. Егер қандай бір виджетті құрастырылымнан өшіру қажет болса removeWidget() әдісін виджетке сілтеме жіберу арқылы қолдану ыңғайлы.
Слайд 10
Көлденең және тік орналастырулар
Көлденең немесе тік орналастырулар үшін QBoxLayout класын немесе бұл
класстан бөлінетін QHBoxLayout және QVBoxLayout класын қолдануға болады.
Слайд 11
QboxLayout классы
LeftToRight – көлденең орналастыру, толтыру оңнан солға жүргізіледі;
RightToLeft - көлденең орналастыру, толтыру
солдан оңға жүргізіледі
TopToBottom - тік орналастыру, толтыру жоғарыдан төменге қарай жүргізіледі;
BottomToTop - тік орналастыру, толтыру төменнен жоғарыға қарай жүргізіледі;
Слайд 12
Бұл класс QLayout класын берілген айқындамаға қосу: виджеттің –insertWidget(), орнатылған құрастырылым - insertLayout(),
виджеттер арасындағы аралыққа- insertSpacing(), және созылу факторына- insertStretch().
Құрастырылымға addSpacing() әдісімен екі виджет арасындағы берілген аралықты бекітуге болады
Слайд 13
QVBoxLayout тігінен орналастыру
Слайд 14
QVBoxLayout құрастырылымы QBoxLayout-тан туындайды және барлық виджеттерді жоғарыдан төмен қарай тек қана тігінен
реттейді. Қалған жағдайларда ол QBoxLayout және QHBoxLayout класстарынан ешқандай айырмашылығы жоқ. Егер листингісінде QHBoxLayout класын QVBoxLayout-қа ауыстырса онда 13 слайдта көрсетілген терезедегідей бағдарлама алынады.
Слайд 15
Бір құрастырылымды екіншісіне ендіре отырып кез-келген күрделі орналастырымды құруға болады. Енгізілген орналастыруларды ұйымдастыру
үшін addLayout() әдісі бар, онда қосылатын құрастырылым үшін, екінші параметр болып созылу факторы беріледі.
Астында келтірілген суретте құрастырылымның екі менеджерін орналастыруды енгізу мысалы көрсетілген. QVBoxLayout құрастырылымында QHBoxLаyout құрастырылымы орналасады.