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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Qt 4.2.2 Размер опций в QListView в режиме IconView  (Прочитано 2615 раз)
AYK
Гость
« : Март 12, 2007, 17:51 »

Добрый день, коллеги!!!  Веселый

В порцессе перехода с КюТ 4.0.0 на КюТ 4.2.2 продолжаю разбираться с некоторыми непонятностями:
вот еще одна...
Есть в классе  QAbstractItemView функция void setIconSize ( const QSize & size ), которой я с успехом и пользовался для изменения размера опции списка пока не собрал программу под КюТ 4.2.2.
Собственно под КюТ 4.2.2 такое ощущение, то она ничего не делает.
Какие бы размеры не задавал все равно опции отрисовываются с оптимальной шириной и высотой (по тексту)
Вот пример моего кода

при создании окна и его виджетов кроме прочего вызывается следующая функция

void PWGoodChoice::initViews()
{
//QMessageBox::information(NULL,"",QString("%1").arg("initViews"),QMessageBox::Ok);   

   //list of categories
   columnLCName = 0;
   QListView *list = ui->listViewCategory;
   list->setModel(modelG);
   list->setModelColumn(columnLCName);
   list->setViewMode(QListView::IconMode);
   list->setMovement(QListView::Static);
   list->setSpacing(5);
   list->setCurrentIndex(categoryIndex);
   maxListCItemWidth = 0;
   for (int row = 0; row < modelG->rowCount(); ++row)
   {
      if (maxListCItemWidth < list->sizeHintForIndex(modelG->index(row,columnLCName)).width())
      {
         maxListCItemWidth = list->sizeHintForIndex(modelG->index(row,columnLCName)).width();
      }
   }
//....
}

при отрисовке окна всегда происходит перерасчет отрисовки в списке
void PWGoodChoice::updateProportions()
{
   //set size of Category List view item
   {
      QListView *list = ui->listViewCategory;
      int widgetWidth = list->viewport()->rect().width();
      int w = maxListCItemWidth + list->spacing();
      if (w>widgetWidth)
      {
         w=widgetWidth;
      }
      list->setIconSize(QSize(w - list->spacing(),maxListItemHeight));
      list->setGridSize(QSize(w,maxListItemHeight + list->spacing()));
   }

//...
}

размеры грида устанавливаются а вот размеры опции в этом гриде неизменны...  :cry: а мне надо, чтобы опция по размеру была такой же как и ячейка грида уменьшенная немного.

Может какие-то новшества в КюТ 4.2.2. о которых я не знаю?
Или еще почитать что-то надо?  :?

Посоветуйте или подскажите что не так делаю?
Спасибо.  Улыбающийся
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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