Название: [РЕШЕНО] Определение текущей ячейки в QTableView Отправлено: DarkHobbit от Июль 05, 2018, 04:33 Добрый день.
В моём QTableView включено выделение целых строк (SelectionBehavior==SelectRows). Тем не менее, понятие выделенной ячейки, видимо, всё же присутствует. Например, если щёлкнуть по ячейке и нажать Ctrl+C, в буфер копируется текст именно выделенной ячейки, а не всей строки. Теперь один из пользователей просит меня добавить то же действие в контекстное меню, т.е. я должен сделать аналог Ctrl+C программно. И вот тут вопрос. Я смотрю содержимое selectionModel - selectedRows возвращает строку правильную, столбец нулевой (что логично). selectedColumns пустой, selectedIndexes возвращает ВСЕ ячейки выбранной строки. Да, в контексте SelectionBehavior==SelectRows это логичное поведение. Но ведь при Ctrl+C виджет как-то определяет не только строку, но и конкретную выделенную ячейку, можно ли это сделать программно? Ну или просто можно вызвать метод копирования текущей ячейки в буфер, который использует сам класс таблицы. Или он утоплен глубоко в private? Проверено на Qt 4.8.6 и Qt 5.10, Windows 8.1. Название: Re: Определение текущей ячейки в QTableView Отправлено: vic57 от Июль 05, 2018, 09:24 определи по event->pos()
Код
Название: Re: Определение текущей ячейки в QTableView Отправлено: GreatSnake от Июль 05, 2018, 11:49 Зачем для контекстного меню текущая ячейка?
Используй найденную Код
Название: Re: Определение текущей ячейки в QTableView Отправлено: vic57 от Июль 05, 2018, 12:30 Зачем для контекстного меню текущая ячейка? чтобы копировать текстКод
Название: Re: Определение текущей ячейки в QTableView Отправлено: zhbr от Июль 05, 2018, 13:01 Код
Название: Re: Определение текущей ячейки в QTableView Отправлено: kai666_73 от Июль 06, 2018, 11:21 Поработаю кэпом ): выбранные ячейки это одно, а текущая (current в терминологии Qt-фреймворка) ячейка это другое. Выбранных ячеек может быть много, а текущей (та что в фокусе) - только одна.
Если необходимо програмно определить какая ячейка является текущей, следует использовать метод Код
Название: Re: Определение текущей ячейки в QTableView Отправлено: DarkHobbit от Июль 06, 2018, 22:24 Поработаю кэпом ): выбранные ячейки это одно, а текущая (current в терминологии Qt-фреймворка) ячейка это другое. О! Я чувствовал, что здесь должны быть разные понятия, но что это именно current, не догадался. QItemSelectionModel::currentIndex() в сочетании с qApp->clipboard()->setText() помог, спасибо. |