функция щелчка в Qt

Я просто хочу уточнить, присутствует ли эта функция в Qt или нет. Сценарий такой,

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

Я имею в виду, что в первый раз, когда я нажимаю элемент, он должен быть выбран, в следующий раз, если я нажимаю тот же элемент, он должен отображать какой-то значок. Обратите внимание, что это не двойной щелчок. снова, если вы выберете какой-либо другой элемент, та же функция должна продолжаться

Итак, есть ли какая-либо функция, которая обрабатывает эту функцию по умолчанию, какое-либо свойство или флаг, который мне нужно установить для просмотра списка, чтобы вести себя так, или для этого требуется ручная реализация.


person Naruto    schedule 01.04.2010    source источник


Ответы (1)


Нет проблем (: Теперь я понимаю, что вы имеете в виду... Итак, если вы нажмете на элемент, он должен быть выбран (например, выделен синим цветом), а затем, когда вы снова нажмете на этот элемент, должен отображаться значок.

Я не могу придумать обычный способ сделать это, нет такого флага или что-то в этом роде.

Самый простой способ, который я могу придумать, - это сохранить индекс в QList при его выборе. И когда вы отмените выбор, вы удалите индекс из списка. ТАК, когда вы нажимаете на элемент, вы можете проверить, есть ли он в этом списке, и если да, вы можете отобразить свой значок.

Другой способ - создать свой собственный тип QModelIndex. Каждый раз, когда выбирается этот индекс, вы устанавливаете логическое значение типа is_already_selected в значение true. При повторном нажатии на этот элемент вы проверяете это логическое значение, а затем решаете, должен ли отображаться значок или нет.

Для получения дополнительной информации см.: QListView, QAbstractItemView::currentIndex, QModelIndex

person Exa    schedule 01.04.2010
comment
о.. хорошо, спасибо.. я думал, что для этого есть какой-то альтернативный прямой метод, но :(... в любом случае, я попробую вашу технику. Большое спасибо :) - person Naruto; 01.04.2010