Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Achernar от Июнь 11, 2014, 06:55



Название: [РЕШЕНО] Сохранить пространство у виджета
Отправлено: Achernar от Июнь 11, 2014, 06:55
Здравствуйте,

Есть два ряда по 8 изображений на QLabel, их надо периодически скрывать, но так, чтобы сохранялось место в layout. Нашел здесь тему,  сделал, как там предлагалось через placeholder - каждый label в placeholder, работает нормально, но если запускать, так, чтобы изначально не было скрытых и скрывать по ходу, а если запустить сразу с несколькими скрытыми, то обрезается

Код:
    for(qint32 i = 0; i < 8; ++i)
    {
        QWidget* placeholder = new QWidget(this);
        QHBoxLayout* ph_layout = new QHBoxLayout;
        ph_layout->setContentsMargins(0, 0, 0, 0);
        ph_layout->setSpacing(0);

        QLabel *lbl = new QLabel;
        lbl->setPixmap(npy);
        widgets.append(lbl);        

        ph_layout->addWidget(lbl);
        placeholder->setLayout(ph_layout);
        layout1->addWidget(placeholder);

        placeholder = new QWidget(this);
        ph_layout = new QHBoxLayout;
        ph_layout->setContentsMargins(0, 0, 0, 0);
        ph_layout->setSpacing(0);

        lbl = new QLabel;
        lbl->setPixmap(npr);
        widgets.append(lbl);

        ph_layout->addWidget(lbl);
        placeholder->setLayout(ph_layout);
        layout2->addWidget(placeholder);
    }

Вот на первых 2 картинках, как должно быть, так получается, когда все label показаны, а потом скрываются по очереди.
А на других 2  - если запустить сразу с скрытыми label-ми.


Название: Re: Сохранить пространство у виджета
Отправлено: GreatSnake от Июнь 12, 2014, 12:52
Задай максимально возможную фиксированную высоту через setFixedHeight() для всех QLCDNumber.


Название: Re: Сохранить пространство у виджета
Отправлено: Achernar от Июнь 12, 2014, 23:58
Спасибо, оно!