Russian Qt Forum
Ноябрь 23, 2024, 02:01 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало Форум WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  
  Просмотр сообщений
Страниц: [1]
1  Qt / Пользовательский интерфейс (GUI) / Re: Прокрутка части окна : Апрель 14, 2020, 11:29
Может быть имеет смысл Батоны собрать в отдельное окно?
Нет, у меня только одно окно - это не ПК, а графическая панель прибора
2  Qt / Пользовательский интерфейс (GUI) / Прокрутка части окна : Апрель 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 будут видны постоянно.
Страниц: [1]

Страница сгенерирована за 0.127 секунд. Запросов: 24.