无法连接(空)::选择更改为 QTableView
Cannot connect (null)::selectionChanged to QTableView
我有以下提升的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();
};
绑定选择时更改了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);
左单击和右键单击信号按预期工作,但我收到错误:
QObject::connect: Cannot connect (null)::selectionChanged(QItemSelection, QItemSelection) to MyApp::on_tableViewSelectionChanged(QItemSelection)
信号槽连接失败,因为 table->selectionModel()
返回 null。
如果在进行信号槽连接之前为表设置模型,table->selectionModel()
将返回有效的模型,从而使信号槽连接成功。
相关文章:
- 如何使用默认参数等选择模板专业化
- 如何(从固定列表中)选择一个数字序列,该序列将与目标数字相加
- 选择要调用的构造函数
- C++选择排序算法中的逻辑错误
- QTreeView幻灯片多选后无法使用单击选择
- 无法获取菜单选择以运行函数.C++
- QTableView:endMoveRows在模型中重置水平页眉大小
- 为什么QTableView扩展选择忽略了我的默认选择行
- 如何选择 QTableView 的特定整个列
- 正确复制 QTableView 中的选择(模型索引问题)
- QTableView禁用单列选择
- 在 QTableView 中取消选择单行
- 在QTableView中使用鼠标右键进行选择
- 如何以编程方式选择QTableView中的下一行
- 如何使用QSqlQueryModel在QTableView中显示多次选择的结果
- 无法在QTableView中以编程方式选择顶部行
- 如何禁用QTableView的整列选择
- QTableView如何以编程方式选择多列
- 无法连接(空)::选择更改为 QTableView
- 在使用QSortFilterProxyModel过滤QTableView后保留选择