Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Добавление кнопки в QTableView через делегат.
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Модель/Представление
Trisch
Как добавить кнопку в таблицу (QTableView) через делегат так, что бы она отображалась сразу в ячейке, а не после нажатия по ячейке кнопкой мыши?

Сейчас кнопка в таблицу добавляется так:
QWidget *DelegateTable::createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const {
    ...
    QPushButton *editor = new QPushButton(parent);
    QString currentText = index.model()->data(index, Qt::DisplayRole).toString();
    editor->setText(currentText);
    return editor;
    ...
}
lanz
Можно так например:
http://qt-project.org/doc/qt-4.8/qabstract...#setIndexWidget

Или вот так, хотя мне первый метод больше нравится:
http://qt-project.org/doc/qt-4.8/qabstract...ersistentEditor
Trisch
Тогда как мне узнать какая кнопка была нажата?

Это придется переопределять класс кнопки так, чтобы конструктор принимал номер строки и столбца, а сигнал отправлял эти параметры или есть по проще вариант?
lanz
Можно QSignalMapper использовать.
http://qt-project.org/doc/qt-4.8/qsignalmapper.html
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.