я следующий способствовал QTableView:Не удается подключиться (нуль) :: SelectionChanged к QTableView
class QRightClickableTableView : public QTableView {
Q_OBJECT
public:
explicit QRightClickableTableView(QWidget *parent = 0): QTableView(parent) {}
private slots:
void mouseReleaseEvent(QMouseEvent *e) {
if(e->button()==Qt::RightButton)
emit rightClicked();
else if (e->button()==Qt::LeftButton)
emit leftClicked();
}
signals:
void rightClicked();
void leftClicked();
};
При связывании сигнала SelectionChanged из QRightClickableTableView, но получает сообщение об ошибке. В .cpp:
QRightClickableTableView *table = ui->dataTableView;
connect(table, SIGNAL(leftClicked()), this, SLOT(on_tableViewLeftClicked()));
connect(table, SIGNAL(rightClicked()), this, SLOT(on_tableViewRightClicked()));
connect(table->selectionModel(), SIGNAL(selectionChanged(QItemSelection, QItemSelection)),
SLOT(on_tableViewSelectionChanged(QItemSelection)));
table->setModel(model);
The leftClicked и rightClicked сигналов работает, как ожидалось, но я получаю сообщение об ошибке:
QObject::connect: Cannot connect (null)::selectionChanged(QItemSelection, QItemSelection) to MyApp::on_tableViewSelectionChanged(QItemSelection)
Когда вы устанавливаете модель для вашего вида таблицы? Попробуйте установить его перед подключением сигнального разъема. –
Duh. Благодарю. Вот и все. Можете ли вы ответить на этот вопрос, чтобы я мог принять его? – user2411693