2017-01-07 8 views
0

У меня есть горизонтальный QSplitter с двумя детьми QWidget объектов. Теперь, когда пользователь перетаскивает дескриптор сплиттера вправо за пределами определенного порога (который, я полагаю, зависит от минимального размера ребенка), правый QWidget исчезает со щелчком. setSizePolicy, setMinimumSize не помогите.Как предотвратить полное скрытие QSplitter от дочерних виджетов?

Кроме того, hideEvent не запускается, и я даже не могу обнаружить, когда мой виджет будет скрыт. Я попытался использовать resizeEvent, но оба его старых и новых параметра ширины, похоже, имеют недокументированные странные значения - иногда это 0, иногда -1. Даже если есть система, она может измениться при следующем выпуске Qt.

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

ответ

1

Если вы хотите, чтобы предотвратить определенную widget от коллапса, то вам нужно ...

int index = my_splitter.indexOf(widget); 
my_splitter.setCollapsible(index, false); 

Документация here.

+0

Ha! Вы правы - они называют это «крахом», а не «скрытым». Решив мою текущую проблему, спасибо. Из холостого любопытства: есть ли способ обнаружить это событие коллапса после его возникновения? – sigil