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

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: При добавлении табов уменьшается размер QTabWidget  (Прочитано 3199 раз)
jurtal
Гость
« : Сентябрь 06, 2011, 11:48 »

Надо чтоб размер QTabWidget определялся размером добавленных QWidget_ов.
Добавляю QWidget одинакового размера в QTabWidget. Затем делаю resize для QTabWidget.
узнав размер текущего виджета, добавив высоту вкладок. При каждом добавлении нового виджета размер текущего уменьшается на несколько пикселей. QTabWidget постепенно уменьшается.  

void TabWidget::addView()
{
       Widget* e = new Widget(this);
       int result = this->addTab(e, "name");
       resize();
}

void TabWidget::resize()
{
   Widget* ew = (Widget*)currentWidget();
   if(ew)
   {
      QSize curSize = ew->size();
           QWidget::resize(curSize.width(), curSize.height() + iconSize().height());
   }   
}

Видимо я неправильно вычисляю размер QTabWidgeta... Но где ошибка, пока не понял. Если есть идеи, пожалуйста поделитесь...
« Последнее редактирование: Сентябрь 06, 2011, 12:11 от jurtal » Записан
popper
Гость
« Ответ #1 : Сентябрь 06, 2011, 12:05 »

выведи в дебаг значение curSize и посмотри, меняется ли оно
Записан
jurtal
Гость
« Ответ #2 : Сентябрь 06, 2011, 12:10 »

В том то и проблема, что он все время на несколько пикселей уменьшается при добавлении новых вкладок, а вот почему - мне непонятно...
Записан
jurtal
Гость
« Ответ #3 : Сентябрь 06, 2011, 12:16 »

Если добавить 4 и 6 то размер не меняется. Непонятно что это за размеры у QTabWidget, которые я не учитываю...
QWidget::setFixedSize(curSize.width() + 4, curSize.height() + iconSize().height() + 6);
Записан
popper
Гость
« Ответ #4 : Сентябрь 06, 2011, 12:17 »

а меняется и ширина и высота одновременно?
Записан
popper
Гость
« Ответ #5 : Сентябрь 06, 2011, 12:21 »

попробуй после создания виджета изменить его sizePolicy на Fixed
Записан
Fess
Гость
« Ответ #6 : Сентябрь 06, 2011, 16:19 »

Magic number 4 и 6 зависят от используемого стиля виджета?
Видимо какие-то неучтенные рамки/отступы таки присутствуют.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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