eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingqt, odświeżanie elementu QListView
Ilość wypowiedzi w tym wątku: 1

  • 1. Data: 2011-06-13 18:45:40
    Temat: qt, odświeżanie elementu QListView
    Od: Kicer <...@...c>

    Witam

    mam klasę dziedziczącą po QListiew.
    Mam też klasę dziedziczącą po QStyledItemDelegate uzywanej jako delegat do
    rysowania elementów listy.
    Delegat z kolei wyrysowuje obiekty klasy dziedziczącej po QWidget (itemy
    listy).

    Itemy są stworzene w momencie gdy do modelu, którego uzywa lista, dodawany
    jest nowy element. Wszystko ładnie, pięknie, ale chciałbym w itemach
    wyświetlać animowane svg. Używam QSvgRenderer, który ładnie strzela mi
    sygnałem (repaintNeeded). Wywołuję w itemie update() ale paintEvent nie
    wywołuje się. repaintNeeded połączyłem z update, ale mialem też wersję z
    własnym slotem w którym wywoływalem update - dzięki temu mam pewność ze
    udate się wywołuje a paintEvent (które mam przeładowane) nie.
    Mój paintEvent jest odpalany tylko gdy scroluję listę, zmieniam jej rozmiar,
    jeżdżę po elementach etc. Widać wtedy kolejne klatki animacji svg.

    Zgaduję że item się nie przeładowuje ponieważ nie jest bezpośrednio częscią
    layoutu żadnego widgetu/okna. W delegacie wywołuję:
    itemWidget->render(delegatePainter, QPoint() );

    jak poinformować delegata/listę, żeby odświeżanie itemów odbywało się na ich
    rządanie?

    pozdrawiam

    --
    Michał Walenciak
    gmail.com kicer86
    http://kicer.sileman.net.pl
    gg: 3729519

strony : [ 1 ]


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: