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

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

0 голосов
/ 01 апреля 2010

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

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

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

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

1 Ответ

0 голосов
/ 01 апреля 2010

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

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

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

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

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

...