Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Harvester от Апрель 11, 2020, 16:21



Название: Прокрутка части окна
Отправлено: Harvester от Апрель 11, 2020, 16:21
Достался в наследство следующий код.
Имеется диалоговое окно фиксированного размера (то, что qt генерит из *.ui, с сокращениями):
Код:
class Ui_dlgMenu
{
public:
    QVBoxLayout *verticalLayout;
    QScrollArea *scrollArea;
    QWidget *scr_wdg_contents;
    QVBoxLayout *verticalLayout_3;
    QVBoxLayout *menu_splitter;

    void setupUi(QWidget *dlgMenu)
    {
        dlgMenu->resize(272, 480);
        dlgMenu->setMaximumSize(QSize(272, 480));

        verticalLayout = new QVBoxLayout(dlgMenu);

        scrollArea = new QScrollArea(dlgMenu);
        sizePolicy1.setHorizontalStretch(0);
        sizePolicy1.setVerticalStretch(0);
        sizePolicy1.setHeightForWidth(scrollArea->sizePolicy().hasHeightForWidth());
        scrollArea->setSizePolicy(sizePolicy1);
        scrollArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
        scrollArea->setWidgetResizable(true);

        scr_wdg_contents = new QWidget();
        scr_wdg_contents->setGeometry(QRect(0, 0, 268, 470));
        verticalLayout_3 = new QVBoxLayout(scr_wdg_contents);
        menu_splitter = new QVBoxLayout();
        verticalLayout_3->addLayout(menu_splitter);
 
        scrollArea->setWidget(scr_wdg_contents);

        verticalLayout->addWidget(scrollArea);
}
Во время работы на лэйаут menu_splitter динамически добавляются виджеты - одна или две Label и сколько угодно Button.
Содержимое окна центрируется по вертикали, когда кнопок становится слишком много, появляется полоса прокрутки.
Как сделать, чтобы Lable всегда оставались на экране?
Т.е. по мере добавления Button Lable перемещаются к верхней границе, а когда кнопок станет слишком много полоса прокрутки должна появиться только для них, а Lable будут видны постоянно.


Название: Re: Прокрутка части окна
Отправлено: Day от Апрель 14, 2020, 10:35
Может быть имеет смысл Батоны собрать в отдельное окно?


Название: Re: Прокрутка части окна
Отправлено: Harvester от Апрель 14, 2020, 11:29
Может быть имеет смысл Батоны собрать в отдельное окно?
Нет, у меня только одно окно - это не ПК, а графическая панель прибора