Виджет с прокруткой

вопросы по созданию программ с использованием возможностей библиотеки PHPQt5

Модератор: ArtMares

zazaka
Аватара пользователя
Ответственный глюкогенератор
 
Сообщения: 98
Поблагодарили: 2 раза
Какой виджет даст возможность прокручивать в нутри себя другие виджеты ??
наверно что то типа QSrcrollArea? использовать нужно или чтото есть ещё?
Унабле то лоад дынамиц либрары

zazaka
Аватара пользователя
Ответственный глюкогенератор
 
Сообщения: 98
Поблагодарили: 2 раза
я сделал вот так

phpqt Код:

        $scrcroll = new QScrollArea();
 $scrcroll->layout = new QVBoxLayout();//вертикальная компоновка
 $scrcroll->layout->addWidget($this->page_L);
 
 

        /// Сплитер для изменения размера полей левого и правого
        $split = new QSplitter();
        
        $split->addWidget($scrcroll);
        $split->addWidget($this->page_R);

        $this->centralWidget = $split;



Но поле с менюшками (page_L) сжимается и прокрутка не появляется ....
Унабле то лоад дынамиц либрары

ArtMares
Аватара пользователя
 
Сообщения: 72
Откуда: Москва
Благодарил (а): 4 раза
Поблагодарили: 5 раз
Вот мой код для виджета с прокруткой
phpqt Код:
        /** Создаем QScrollArea для фрейма проектов */
        $this->Scroll = new QScrollArea($this);

        /** Задаем имя для QScrollArea */
        $this->Scroll->objectName = 'ScrollProjects';

        /** Запрещаем отображение горизонтального скрола */
        $this->Scroll->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);

        /** Создаем QFrame для списка всех когда либо открытых проектов */
        $this->Projects = new QFrame($this);

        /** Задаем имя для QFrame */
        $this->Projects->objectName = 'FrameProjects';

        /** Задаем минимальную и максимальную ширину QFrame */
        $this->Projects->setMinimumWidth(288);
        $this->Projects->setMaximumWidth(300);

        /** Создаем слой для QFrame */
        $this->Projects->layout = new QVBoxLayout;

        /** Запускаем обновление списка открытых проектов */
        $this->controller->updateProjectsList($this->Projects);

        /** Добавляем QFrame списка проектов в QScrollArea */
        $this->Scroll->setWidget($this->Projects);

        /** Добавялем QScrollArea в основное окно */
        $this->layout->addWidget($this->Scroll);
PQStudio Development Progress: 75%
Version: 0.2

zazaka
Аватара пользователя
Ответственный глюкогенератор
 
Сообщения: 98
Поблагодарили: 2 раза
спс!)  всё плучилось )
правда ещё с оформлением размерами и стилями криво местами получается
Последний раз редактировалось zazaka 02 апр 2016, 14:50, всего редактировалось 2 раза.
Унабле то лоад дынамиц либрары

ArtMares
Аватара пользователя
 
Сообщения: 72
Откуда: Москва
Благодарил (а): 4 раза
Поблагодарили: 5 раз
Что бы у тебя корректно работало необходимо задавать высоту виджету, который содержит в себе кнопки и сам является дочерним элементом QScrollArea.
Если ты высоту не будешь задавать то у дочернего элемента высота будет равна высоте QScrollArea, из-за чего и происходит сжатие элементов
PQStudio Development Progress: 75%
Version: 0.2

zazaka
Аватара пользователя
Ответственный глюкогенератор
 
Сообщения: 98
Поблагодарили: 2 раза
я кажись разобрался, сейчас чуть причешу выложу новую версию проги.
Унабле то лоад дынамиц либрары


Вернуться в Вопрошайка

Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость
cron