Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt Модель/Представление _ QTableView наследование

Автор: TaIRou 26.12.2010, 16:07

всем доброго времени суток...

cornerWidget - угловая кнопка QTableView (верхний левый угол).
Служит для выделения всех ячеек таблицы.

qtableview.cpp :

void QTableViewPrivate::init()
{
...
    cornerWidget = new QTableCornerButton(q);
    cornerWidget->setFocusPolicy(Qt::NoFocus);
    QObject::connect(cornerWidget, SIGNAL(clicked()), q, SLOT(selectAll()));
}

Необходимо изменить поведение этой кнопки и вызывать совершенно другой слот.
Кнопка создается и используется в приватном классе QTableViewPrivate.
Проблема: при наследовании от QTableView механизмов доступа к cornerWidget я не знаю.

В определении класса QTableView есть такие функции-члены доступа к этой кнопке
void setCornerButtonEnabled(bool enable);
bool isCornerButtonEnabled() const;

Но толку от них для решения своей задачи я не вижу...

Подскажите, каким образом получить доступ к cornerWidget

Автор: igor_bogomolov 26.12.2010, 16:12

Цитата(TaIRou @ 26.12.2010, 16:07) *
Проблема: при наследовании от QTableView механизмов доступа к cornerWidget я не знаю.
Да их и нет к сожалению.
Загляни вот в эту тему (http://www.prog.org.ru/topic_7085_0.html), может поможет сделать костыль

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)