Как сделать некоторые пункты 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_())

введите сюда описание изображения

→ Ссылка