Chcę wyświetlić tylko ikony w moim QListWidget. Ustawiłem tekst na pusty ciąg. Po wybraniu ikony widzę pusty zaznaczony kwadrat w miejscu tekstu. See the screenshot Jak mogę pozbyć się tego pustego miejsca ?!Jak wyświetlać ikony bez tekstu w QListWidget?
Odpowiedz
Jak dodać ikonę do swojej QListWidget? To dobrze powinien działać (wczytuję ikonę z pliku zasobów):
ui->listWidget->addItem(new QListWidgetItem(QIcon(":/res/icon"), ""));
EDIT
Od screenie widzę, że twój problem jest to, że jest jakaś biała przestrzeń poniżej ikona odpowiadająca pusty ciąg. Możesz zhackować to zachowanie, ustawiając bardzo mały rozmiar czcionki elementu listy.
QListWidgetItem *newItem = new QListWidgetItem;
QFont f;
f.setPointSize(1); // It cannot be 0
newItem->setText("");
newItem->setIcon(QIcon(":/res/icon"));
newItem->setFont(f);
ui->listWidget->addItem(newItem);
To wystarczy. Możesz jednak użyć funkcji setItemWidget
i użyć niestandardowego zaprojektowanego widżetu lub użyć QListView
i delegata.
Moje rozwiązanie polegało na wywołaniu metody setSizeHint() na przedmiocie o wielkości ikony. Dodałem trochę wyściółki, ponieważ pole wyboru zostało obcięte bez niego.
QListWidgetItem * pItem = new QListWidgetItem(icon, "");
pItem->setSizeHint(iconSize + QSize(4,4));
listWidget->addItem(pItem);
wykorzystanie NULL zamiast
ui->listWidget->addItem(new QListWidgetItem(QIcon(":/res/icon"),NULL));
to jest poprawna odpowiedź – ejectamenta
- 1. Jak zmienić kolor tekstu elementów w QListWidget?
- 2. Ikony paska zakładek środkowych bez tekstu w Swift
- 3. Jak utworzyć przycisk bez ikony w CKEditor
- 4. ViewPagerIndicator Tabs: Ikony powyżej tekstu
- 5. Wyświetlanie standardowej ikony i tekstu w QLabel
- 6. Dodawanie tekstu do ikony powiadomienia
- 7. Jak mogę wyświetlać różne ikony dla samego rozszerzenia pliku
- 8. Karty bez ikony
- 9. BottomNavigationView wyświetlać zarówno ikony i etykiety tekstowe w każdym czasie
- 10. Jak wyświetlać duże ilości tekstu w aplikacji Windows Store?
- 11. PyQt4: Jak iteracyjne wszystkie przedmioty w QListWidget
- 12. Jak wyświetlać wyskakujące wiadomości bez kontekstu
- 13. Ikony 32x32 dla edytora tekstu sformatowanego?
- 14. Tworzenie tekstu bez łamania tekstu?
- 15. Jak uzyskać spójne podświetlanie elementów QListWidget w stanach widgetów?
- 16. Jak uzyskać element QListWidget według nazwy?
- 17. QListWidget: Event na pozycji kliknij
- 18. Dostosowywanie paska przewijania przez QListWidget
- 19. Wyrównanie pionowe tekstu i ikony w przycisku ładowania początkowego
- 20. Jak programowo ukryć ikony pulpitu?
- 21. QListWidget Dodaj niestandardowe elementy w Qt?
- 22. Jak wyświetlać/wyświetlać błędy krytyczne w przeglądarce na HHVM
- 23. Jak wyświetlać odpowiednią ikonę w oknie dialogowym?
- 24. Ustawianie tekstu nagłówka DisclosurePanel dynamicznie przy zachowaniu ikony strzałki?
- 25. Jak wyświetlać znaki specjalne w systemie Android?
- 26. Jak usprawnić prawo ikony w JLabel?
- 27. Jak wyświetlać numery linii domyślnie w SciTE?
- 28. Jak przeglądać (bez edytora tekstu) pliki .rst?
- 29. Jak wyświetlać PDF na stronie PHP bez Flasha/Adobe
- 30. Jak wyświetlać reklamy u dołu ekranu bez nakładania się?
Pusta przestrzeń jest pokazany zamiast tekstu. To miejsce jest zaznaczone po wybraniu ikony. Chcę się go pozbyć. Poprawiłem moje pytanie. – Dmitriy
Sprawdź zaktualizowaną odpowiedź – pnezis
Ustawienie małej czcionki nie wystarczy. Mały prostokąt jest nadal widoczny po selekcji. setItemWidget działa dziwnie, nadal wyświetla pusty prostokąt. Dodałem QLabel z pixmapą jako widżetem. Ostatnią nadzieją jest delegat. Czy możesz opublikować fragment kodu, jak osiągnąć mój cel? – Dmitriy