crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> делагат для QTableWidget
borune
  опции профиля:
сообщение 2.2.2015, 13:31
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 152
Регистрация: 1.1.2011
Пользователь №: 2314

Спасибо сказали: 0 раз(а)




Репутация:   0  


Господа, задача следующая: нужно вставить в таблицу кнопку. В обработчике клика на кнопку надо знать, в какой строке эта кнопка находится. Насколько я понял, если устанавливать кнопку в таблицу при помощи setCellWidget, то номер строки и столбца, где находится виджет узнать невозможно. Сигналы cellClicked и itemClicked не эмитируются ячейкой, в которую вставлен виджет. Как решить задачу?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
arhohryakov
  опции профиля:
сообщение 2.2.2015, 15:36
Сообщение #2


Новичок


Группа: Новичок
Сообщений: 4
Регистрация: 14.1.2015
Пользователь №: 4315

Спасибо сказали: 3 раз(а)




Репутация:   0  


Цитата(borune @ 2.2.2015, 15:31) *
Господа, задача следующая: нужно вставить в таблицу кнопку. В обработчике клика на кнопку надо знать, в какой строке эта кнопка находится. Насколько я понял, если устанавливать кнопку в таблицу при помощи setCellWidget, то номер строки и столбца, где находится виджет узнать невозможно. Сигналы cellClicked и itemClicked не эмитируются ячейкой, в которую вставлен виджет. Как решить задачу?

Создайте наследника Кнопки. В наследнике создайте необходимые поля (номер строки, ряда и т.д). Заполняйте их перед установкой кнопки в ячейку. По клику все данные будут внутри.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
borune
  опции профиля:
сообщение 2.2.2015, 15:41
Сообщение #3


Участник
**

Группа: Участник
Сообщений: 152
Регистрация: 1.1.2011
Пользователь №: 2314

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(arhohryakov @ 2.2.2015, 16:36) *
Создайте наследника Кнопки. В наследнике создайте необходимые поля (номер строки, ряда и т.д). Заполняйте их перед установкой кнопки в ячейку. По клику все данные будут внутри.


Спасибо, этот вариант я рассматривал. Но я хотел изучить делегаты, вот сейчас пытаюсь разобраться в кутэшном примере. Но походу дела мне тут QItemDelegate не поможет, там есть только метод createEditor, который позволяет редактировать содержимое ячейки, используя заданный виджет, а мне же нужно просто отображать вместо ячейки виджет. Я прав?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 26.11.2024, 10:19