qlistwidget - zmiana koloru jednej llitery



  • Witam
    Czy jest możliwe zmienić kolor jednej litery w całym wierszu qlistwidget lub tła wpisanego znaku?

    ui->listWidget->itemAt(0,4)->setBackgroundColor(QColor(125,125,13) );
    ale to zmienia tło całego wiersza.

    Proszę o pomoc


  • Moderators

    Cześć,

    Można, ale nie jest to jedna linijka kodu. Wbudowane widoki Qt nie interpretują tekstu z modelu jako rich text (kolory, formatowanie itd.).
    Do tego celu potrzebujesz sobie stworzyć klasę delegata (podziedziczyć z QStyledItemDelegate) i w metodzie paint() zrobić rysowanie rich textu przy pomocy dostarczonego paintera. Twój model musiałby zwracać tekst ze znacznikami formatowania.
    Taki delegat możesz potem ustawić na widoku za pomocą setItemDelegate().


Log in to reply