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)