Я использую QAbstractTableModel
для заполнения QComboBox
. Это прекрасно работает, но я хочу, чтобы самый первый индекс со списком всегда содержал значение «Выберите один ...».
Возможно ли это, и если да, то как?
У меня есть combobox
, для которого я установил модель:
model = ProjectTableModel(projects)
combobox.setModel(model)
Моя модель:
class ProjectTableModel(QtCore.QAbstractTableModel):
def __init__(self, projects=[], parent=None):
QtCore.QAbstractTableModel.__init__(self, parent)
self._projects = projects
def rowCount(self, parent):
return len(self._projects)
def columnCount(self, parent):
return 2
def data(self, index, role):
row = index.row()
column = index.column()
if role == QtCore.Qt.DisplayRole and column == 0:
# Set the item's text
project = self._projects[row]
name = project.name()
return name
elif role == QtCore.Qt.UserRole and column == 0:
# Set the "itemData"
project = self._projects[row]
id = project.id()
return id