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