Понимание работы QListWidgetItem

174
18 июня 2018, 18:10

У меня есть список элементов QListWidget в этом списке хранятся QListWidgetItem.

У этих элементов внутри списка с помощью QStyledItemDelegate в методе paint прописаны такие строки:

if(option.state & QStyle::State_Selected && option.state & QStyle::State_Enabled){
        textColor = QColor(TEXT_COLOR);
        iconBackgroundColor = QColor(BACKGROUNDCOLOR);
    }

Сделано для того, чтобы при клике по элементу у него подсвечивался бэкграунд.

Все прекрасно работает.

Вопрос в следующем, почему не происходит подсвечивание бэкграунда при имитации клика.

for (int i = 0; i < list->count(); i++)
        {
            auto item = list->item(i);
            if (item->isSelected())
            {
                list->itemClicked(item);
            }
        }

Т.е. если пробежать по элементам списка, найти тот, на который мы предварительно кликнули мышью, и кликнуть на него программно, то он не подсвечивается. Почему так?

Какая разница между кликом мышью и имтации клика мыши програмно?

READ ALSO
Записать один обект QJsonObject в другой

Записать один обект QJsonObject в другой

Мне нужно записать один обект QJsonObject в другойЯ создал jsonObject и мен нужно в него записать childJsonObject

197
Как получить код кириллицы?

Как получить код кириллицы?

Не могу конвертировать кириллицу в числовой код

198
Как изменить значение path через javascript?

Как изменить значение path через javascript?

Есть следующий кусок кода:

208
клиент серверный запрос

клиент серверный запрос

отправляю пользователю сообщение

215