Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: jurtal от Сентябрь 06, 2011, 11:48



Название: При добавлении табов уменьшается размер QTabWidget
Отправлено: 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... Но где ошибка, пока не понял. Если есть идеи, пожалуйста поделитесь...


Название: Re: При добавлении табов уменьшается размер QTabWidget
Отправлено: popper от Сентябрь 06, 2011, 12:05
выведи в дебаг значение curSize и посмотри, меняется ли оно


Название: Re: При добавлении табов уменьшается размер QTabWidget
Отправлено: jurtal от Сентябрь 06, 2011, 12:10
В том то и проблема, что он все время на несколько пикселей уменьшается при добавлении новых вкладок, а вот почему - мне непонятно...


Название: Re: При добавлении табов уменьшается размер QTabWidget
Отправлено: jurtal от Сентябрь 06, 2011, 12:16
Если добавить 4 и 6 то размер не меняется. Непонятно что это за размеры у QTabWidget, которые я не учитываю...
QWidget::setFixedSize(curSize.width() + 4, curSize.height() + iconSize().height() + 6);


Название: Re: При добавлении табов уменьшается размер QTabWidget
Отправлено: popper от Сентябрь 06, 2011, 12:17
а меняется и ширина и высота одновременно?


Название: Re: При добавлении табов уменьшается размер QTabWidget
Отправлено: popper от Сентябрь 06, 2011, 12:21
попробуй после создания виджета изменить его sizePolicy на Fixed


Название: Re: При добавлении табов уменьшается размер QTabWidget
Отправлено: Fess от Сентябрь 06, 2011, 16:19
Magic number 4 и 6 зависят от используемого стиля виджета?
Видимо какие-то неучтенные рамки/отступы таки присутствуют.