PyQt4. Wyświetlanie ikon obok tekstu w QlistWidget.

0

Mam taki program:

self.Icons()

                self.ui.TVList.doubleClicked.connect(self.Play)

        def Icons(self):
            global packages

            for pkg in packages:
                a = QtGui.QListWidgetItem(self.ui.TVList)
                pki = pkg.get('icon')
                data = getUrl(pki)
                pixmap = QPixmap()
                pixmap.loadFromData(data)
                icon = QIcon(pixmap)
                a.setIcon(icon)

Problem polega na tym, że ikony nie wyświetlają się obok wstawionego wcześniej tekstu. W ogóle się nie wyświetlają.
pki , to url ikony. Tekst jest wcześniej wyświetlony w listWidget. Szkoda, że nie można wyświetlić ikon w oddzielnym wątku. Dodam, że wcześniej jest wątek wypisujący listę.

0

Nie wiem czemu ale przez tego QPixmapa to nie działa. Bezpośrednie wpisanie ścieżki ikonki przy tworzeniu obiektu QIcon daje efekt.

Ewentualnie zamiast:

pixmap = QPixmap()
pixmap.loadFromData(data)

wpisać adres ikony bezpośrednio przy tworzeniu obiektu:

pixmap = QPixmap(data)

albo zamiast loadFromData użyć funkcji load, bo ona oczekuje wskaźnika na dane obrazka a nie adresu obrazka.

0

Wyświetlają się obok tekstu w ten sposób:

       data = getUrl(pki)
        pixmap = QPixmap()
        pixmap.loadFromData(data)
        icon = QIcon(pixmap)
        a.setIcon(icon)

Ale problem polega na tym, że rozmiar jest mały.

0

Próbowałeś wstawiać obrazki większego formatu? Nie wiem jak to działa, być może zależy od rozmiaru obrazka.

0

To chyba nie zależy od rozmiaru ikony. Wiem, że jakoś zmienia się rozmiar programowo.

0

Można zmienić rozmiar programowo: http://doc.qt.io/qt-4.8/qpixmap.html - zwróć uwagę na funkcję scaled.

1 użytkowników online, w tym zalogowanych: 0, gości: 1