Как инициализировать позицию дескриптора сплиттера в Qt?

Я хочу инициализировать положение ручки разделителя, как показано ниже, а не посередине. Я не могу установить его в свойстве.

Как это решить?

Спасибо за помощь.

4 ответа

Решение

Ты можешь использовать QSplitter::setSizes в этом, почему переместить ручку:

ui->splitter->setSizes(QList<int>() << 100 << 200);

Вы должны установить горизонтальное растяжение для двух виджетов в разделителе. Например, установив горизонтальное растяжение левого виджета на 1 и правильный виджет для 2правый виджет получает ширину в 2 раза больше левого:

leftWidget->sizePolicy().setHorizontalStretch(1);
rightWidget->sizePolicy().setHorizontalStretch(2); 

Другим возможным способом является использование QSplitter::setSizes,

Использование QSplitter::setStretchFactor(int index, int stretch) где index позиция соответствующего виджета.

у меня была такая же проблема, но я нашел существующий предопределенный атрибут под названием

      `self.horizontalLayout_6.setSpacing(0)` 

ты также найдешь

        self.verticalLayout_6.setSpacing(0)

ты можешь изменить интервал на любой, который тебе нравится, мне это помогло

Другие вопросы по тегам