Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: aix27249 от Июнь 02, 2007, 12:40



Название: [4.2.3 & 4.3.0] Проблемка с QListWidget: смещение виджет
Отправлено: aix27249 от Июнь 02, 2007, 12:40
Проблема такая: пишу код вроде этого:
Код:
for (int i=0; i<availableTags.size(); i++)
{
   ListLabel *L_item = new ListLabel(ui.listWidget, i);
   QListWidgetItem *__item = new QListWidgetItem(ui.listWidget);
   L_item->setText(availableTags[i].c_str());
   __item->setIcon(QIcon("icon.png"));
   ui.listWidget->setItemWidget(__item, L_item);
}

ListLabel - по сути QLabel (наследуется от него).
При запуске весь текст смещается влево, и наплывает на иконку (как будто ее и нет). При этом стоит изменить размеры listWidget (splitter подвинуть, к примеру) - все становится нормально (текст начинается от иконки).
Что я делаю не так? Мне бы достичь хотя бы одного состояния (с наплывом можно бороться добавлением пробелов или еще какого-нибудь прозрачного объекта)...
OC - Linux


Название: [4.2.3 & 4.3.0] Проблемка с QListWidget: смещение виджет
Отправлено: Racheengel от Июнь 02, 2007, 22:43
это баг Qt... я тоже видал подобное.
до первого ресайза размеры кривые остаются.


Название: [4.2.3 & 4.3.0] Проблемка с QListWidget: смещение виджет
Отправлено: aix27249 от Июнь 02, 2007, 23:49
Значит, надо репорт слать... А есть какие-нибудь способы обойти это?
Если текст писать непосредственно в QListWidgetItem - ничего не плавает... Но мне надо чтобы некоторые элементы выделялись (цветом, шрифтом - не суть важно), а как это делать через QListWidgetItem - честно говоря, не представляю (он вроде как не поддерживает RichText)


Название: [4.2.3 & 4.3.0] Проблемка с QListWidget: смещение виджет
Отправлено: Racheengel от Июнь 03, 2007, 00:34
надо переопределить делегат, а в нем метод отрисовки (один из paint...).


Название: [4.2.3 & 4.3.0] Проблемка с QListWidget: смещение виджет
Отправлено: aix27249 от Июнь 03, 2007, 14:19
решил проблему через использование setFont, setForeground и setBackground. Всем спасибо!


Название: [4.2.3 & 4.3.0] Проблемка с QListWidget: смещение виджет
Отправлено: mindz_eye от Июнь 03, 2007, 14:49
setAutoFillBackground( true ); насколько я знаю это фиксает