QComboBox mit Checkbox und Icon geht nicht
Verfasst: Freitag 5. Januar 2024, 22:39
ich hab einen custom combobox für QtDesiger erstellt. Aufruf alles ok, kein Fehler.
aber es ist nichts in der comboBox drin. ich weiss nicht wieso
hier die custom combobox
aber es ist nichts in der comboBox drin. ich weiss nicht wieso
hier die custom combobox
Code: Alles auswählen
from PyQt6.QtWidgets import QListWidgetItem, QComboBox, QListWidget, QCheckBox, QWidget, QVBoxLayout
from PyQt6.QtGui import QIcon
from PyQt6.QtCore import Qt
class CustomComboBoxCheckIcon(QComboBox):
def __init__(self, parent=None):
super().__init__(parent)
self._list_widget = QListWidget(self)
self.setView(self._list_widget)
self._list_widget.setAlternatingRowColors(True)
self._list_widget.setVerticalScrollBarPolicy(Qt.ScrollBarPolicy.ScrollBarAsNeeded)
self._list_widget.setHorizontalScrollBarPolicy(Qt.ScrollBarPolicy.ScrollBarAsNeeded)
self.addItems()
def addItems(self):
social_media_dict = self.get_social_media_dict()
for social, icon_path in social_media_dict.items():
item = QListWidgetItem(QIcon(f":\Buttons\_buttons\socialmedia\{icon_path}-25.png"), social)
item.setFlags(item.flags() | Qt.ItemFlag.ItemIsUserCheckable)
item.setCheckState(Qt.CheckState.Unchecked)
# QListWidgetItem hinzufügen
self._list_widget.addItem(item)
def get_social_media_dict(self):
return {"https://twitter.com": "twitter",
"https://www.facebook.com/": "facebook",
"https://www.instagram.com/": "instagram",
"https://instagram.com/": "instagram",
"https://onlyfans.com/": "onlyfans",
"https://fancentro.com/": "fancentro",
"https://linktr.ee/": "linktree",
"https://www.loyalfans.com/": "loyalfans",
"https://www.twitch.tv/": "twitch",
"https://www.name.com/":"www"}
def checkedItems(self):
checked_items = []
for index in range(self.view().count()):
item = self.view().item(index)
if item.checkState() == Qt.CheckState.Checked:
checked_items.append(item.text())
return checked_items
if __name__ == '__main__':
CustomComboBoxCheckIcon(QComboBox)