2015-05-29 9 views
1

У меня есть 2 виджета (кнопки) в том же splliter, и я хочу заменить первый Tabwidget .. я теряю правильный коэффициент растяжения (1: 1), это будет похоже на (2: 1) или не нравится старый фактор (если это только 2 кнопки)заменить виджет в Qsplitter, не теряя коэффициент растяжения

splitter->addwidget(qbut1); 
splitter->addwidget(qbut2); 
splitter->insertwidget(0,tab); 

и даже тогда, когда я добавить в первой одной вкладки и один button..tab имеет размер больше, чем кнопки как я могу сделать его (1: 1) я стараюсь

splitter->setStretchFactor(0,1); 
splitter->setStretchFactor(1,1); 

, но он не работает

+1

Может быть, попробуйте 'QStackedWidget' /' QStackedLayout'? – Amartel

+0

что это помогает .. я хочу показать оба виджета в то же время –

+0

2Malaz Albawarshi: 'я хочу заменить первый Tabwidget' - я сослался на эту часть вашего вопроса. Вы можете разместить первый виджет на первой странице сложного виджета и Tabwidget на второй странице. А затем просто переключайтесь между страницами. – Amartel

ответ

1

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

int width = splitter->width(); 
QList<int> sizes; 
sizes << width/2 << width/2; 
splitter->setSizes(sizes); 

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

+0

thx для ответа .. но почему, когда я беру виджет из сплиттера и добавляю его в другой, я получаю неправильный рацион ... default is (1,1), когда это всего лишь 2 виджета что я делаю i удалите виджет, и я добавлю новый ... но я не хочу его удалять, потому что мне нужны его свойства –

 Смежные вопросы

  • Нет связанных вопросов^_^