PyQt4. Wyświetlanie ikon obok tekstu w QlistWidget.

PyQt4. Wyświetlanie ikon obok tekstu w QlistWidget.
X3
  • Rejestracja:ponad 9 lat
  • Ostatnio:2 miesiące
  • Postów:308
0

Mam taki program:

Kopiuj
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ę.

edytowany 1x, ostatnio: xenix33
CZ
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 2 lata
  • Postów:231
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:

Kopiuj
pixmap = QPixmap()
pixmap.loadFromData(data)

wpisać adres ikony bezpośrednio przy tworzeniu obiektu:

Kopiuj
pixmap = QPixmap(data)

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

edytowany 2x, ostatnio: czaffik
X3
  • Rejestracja:ponad 9 lat
  • Ostatnio:2 miesiące
  • Postów:308
0

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

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

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

CZ
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 2 lata
  • Postów:231
0

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

X3
  • Rejestracja:ponad 9 lat
  • Ostatnio:2 miesiące
  • Postów:308
0

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

CZ
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 2 lata
  • Postów:231
0

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

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.