Название: вопрос по connect Отправлено: koldun90 от Октябрь 13, 2014, 14:00 Здравствуйте есть QfileSystemModel(файловая система) представленная в QListView QTreeView QTableView
вообщем есть коннекты Код: connect(ui->treeview->selectionModel(),SIGNAL(currentChanged(QModelIndex,QModelIndex)),SLOT(smenaindeksa(QModelIndex,QModelIndex))); коннекты соответственно срабатывают при смене индекса в отображении Код: public slots: Код: void MainWindow::smenaindeksa(QModelIndex index1, QModelIndex index2) Соответсвенно keypressEvent переопределен у всех 3 классов mytreeview mylistview mytableview Код: void mylistview::keyPressEvent(QKeyEvent *event) // РЕТЕПРТЕДЕМЕОЙЕ ЪБЦБФЙС ЛМБЧЙЫЙ (УПВЩФЙЕ РТЙ ОБЦБФЙЙ ОБ ЛМБЧЙЫЙ соответственно установлены фильтры Код: ui->listView_3->viewport()->installEventFilter(this); Код: bool MainWindow::eventFilter(QObject *target, QEvent *event) проблема в том что в выводе приложения пишет следующее Код: QObject::connect: Cannot connect (null)::currentChanged(QModelIndex,QModelIndex) to MainWindow::smenaindeksa(QModelIndex,QModelIndex) Итого получается что из 6 коннектов 4 не проходит Как решить проблему? Название: Re: вопрос по connect Отправлено: gil9red от Октябрь 13, 2014, 14:04 Похоже, у кого-то из QListView, QTreeView, QTableView selectionModel() возращает пустой указатель
Название: Re: вопрос по connect Отправлено: koldun90 от Октябрь 13, 2014, 14:08 а как можно решить проблему подскажите?
Название: Re: вопрос по connect Отправлено: gil9red от Октябрь 13, 2014, 14:36 а как можно решить проблему подскажите? Проверьте сначала мое предположение, если я не угадал, тогда подумаем над другими вариантами :) Название: Re: вопрос по connect Отправлено: koldun90 от Октябрь 13, 2014, 15:13 у меня коннекты прописаны в конструкторе mainwindow.cpp
и сразу после того как я программу запустил(даже в ней еще ничего не делал) появляются эти сообщения о коннектах.... Название: Re: вопрос по connect Отправлено: koldun90 от Октябрь 13, 2014, 15:19 и подскажите как проверитЬ...
Название: Re: вопрос по connect Отправлено: koldun90 от Октябрь 13, 2014, 15:38 Код: QItemSelectionModel *md1=ui->treeView->selectionModel(); Код: QModelIndex r=md1->currentIndex(); Объясню у меня файл менеджер соответственно два окна (всего 6 видов отображений по 3 в каждом окне) левое правое Значки-listview_3 Значки-listview_4 Таблица-tableview Таблица-tableview_1 Дерево- qtreeview Дерево- qtreeview_1 Соответственно при запуске отображается по одному окну это там зависит от настроек ну допустим может отобразиться так левое правое Дерево- qtreeview Дерево- qtreeview_1 а соответственно остальные четыре представления будут setVisible(false) но после запуска проги там можно изменить формат отображения как в левом так и в правом окне те в проге активны всегда активны только 2 формата отображения( по одному на каждой стороне) а всего их 6 ( по 3 с каждой стороны) Название: Re: вопрос по connect Отправлено: gil9red от Октябрь 13, 2014, 17:21 и подскажите как проверитЬ... Например: qDebug() << ui->treeView->selectionModel(); Если вернет 0, или 0х0, значит пустой указатель |