Page 1 of 1

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

PostPosted: 31 Mar 2016, 13:58
by zazaka
Какой виджет даст возможность прокручивать в нутри себя другие виджеты ??
наверно что то типа QSrcrollArea? использовать нужно или чтото есть ещё?

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

PostPosted: 31 Mar 2016, 17:38
by zazaka
я сделал вот так
Code:
        $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) сжимается и прокрутка не появляется ....

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

PostPosted: 01 Apr 2016, 06:25
by ArtMares
Вот мой код для виджета с прокруткой
Code:
        /** Создаем 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);

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

PostPosted: 02 Apr 2016, 14:28
by zazaka
спс!)  всё плучилось )
правда ещё с оформлением размерами и стилями криво местами получается

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

PostPosted: 02 Apr 2016, 14:37
by ArtMares
Что бы у тебя корректно работало необходимо задавать высоту виджету, который содержит в себе кнопки и сам является дочерним элементом QScrollArea.
Если ты высоту не будешь задавать то у дочернего элемента высота будет равна высоте QScrollArea, из-за чего и происходит сжатие элементов

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

PostPosted: 02 Apr 2016, 14:49
by zazaka
я кажись разобрался, сейчас чуть причешу выложу новую версию проги.