Russian Qt Forum
Июня 15, 2025, 08:02 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Глюк QTableView при наследовании  (Прочитано 5344 раз)
aliks-os
Гость
« : Ноября 18, 2009, 11:38 »

Создаю виджет наследника от QTableView, и тут же в нем создаю вот такое соединение СИГНАЛ-СЛОТ. Сигнал currentChanged - это сигнал присутствующий в QTableView. А слот currentChangedEx я определяю в своем виджете.


Код:
QTableViewEx::QTableViewEx(QWidget *parent) : QTableView(parent) {
    QObject::connect(this->selectionModel(),
                                SIGNAL(currentChanged(QModelIndex, QModelIndex)),
                                this,
                                SLOT(currentChangedEx(QModelIndex, QModelIndex)));
}


 Когда создается виджет я получаю вот такое сообщение об ошибке

QObject::connect: Cannot connect (null)::currentChanged(QModelIndex, QModelIndex) to QTableViewEx::currentChangedEx(QModelIndex, QModelIndex)
Записан
BaltikS
Гость
« Ответ #1 : Ноября 18, 2009, 11:41 »

Потому что selectionModel создаётся после setModel();
http://doc.crossplatform.ru/qt/4.5.0/qabstractitemview.html#setModel
« Последнее редактирование: Ноября 18, 2009, 11:46 от BaltikS » Записан
aliks-os
Гость
« Ответ #2 : Ноября 18, 2009, 11:47 »

Это я понял, а как это можно побороть?
К тому же пробовал привязку СИГНАЛ-СЛОТ подключить непосредственно в другой форме, но результат тот же
Записан
BaltikS
Гость
« Ответ #3 : Ноября 18, 2009, 11:53 »

написать коннект в вирт.функции setModel Улыбающийся
Записан
aliks-os
Гость
« Ответ #4 : Ноября 18, 2009, 12:04 »

ОК, спасибо
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #5 : Ноября 18, 2009, 12:15 »

>>Это я понял, а как это можно побороть?
можно соединение делать снаружи виджета, там где ты модель выделения устанавливаешь
Записан

Юра.
aliks-os
Гость
« Ответ #6 : Марта 05, 2010, 12:05 »

>>Это я понял, а как это можно побороть?
можно соединение делать снаружи виджета, там где ты модель выделения устанавливаешь
Ок, спасибо, так и сделал
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 1.912 секунд. Запросов: 23.