Как сделать некоторые пункты QComboBox временно недоступными для выбора в PyQt5
Мне нужно отключить item ComboBox в PyQt5 как это сделано здесь или здесь
только на Python.
Пробовал comboBox.setEnabled(False), но оно ведь просто отключает сам ComboBox
Подскажите пожалуйста как это сделать.
Ответы (1 шт):
Автор решения: S. Nick
→ Ссылка
Странно получается, вы несколько раз откорректировали свой вопрос, но так и не добавили свой пример - почему?
Учитывая что это ваш первый вопрос я отвечу вам, но очень надеюсь, что в дальнейшем вы исправитесь.
Пожалуйста ознакомьтесь:
Как создать минимальный, самодостаточный и воспроизводимый пример.
Вопрос — ответ. Ничего лишнего.
import sys
from PyQt5.Qt import *
class MyWindow(QWidget):
def __init__(self):
super().__init__()
self.combo_box = QComboBox()
for i in range(7):
self.combo_box.addItem("item_" + str(i + 1))
# QStandardItemModel, метод model.item возвращает объекты QStandardItem
model = self.combo_box.model()
# Указываем какие элементы сделать невыбираемыми
model.item(0).setEnabled(False)
model.item(2).setEnabled(False)
model.item(4).setEnabled(False)
layout = QVBoxLayout(self)
layout.addWidget(self.combo_box)
if __name__ == "__main__":
app = QApplication(sys.argv)
app.setFont(QFont("Times", 15, QFont.Bold))
myapp = MyWindow()
myapp.show()
sys.exit(app.exec_())
