【发布时间】:2014-01-22 04:03:20
【问题描述】:
我有一个 QTableView,它代表一个由行和几列组成的模型,例如 x、y、z 等坐标。这些行是整个元素,我想在每次用户选择一个选项时触发一个信号。我设想一些图形对象会根据所选行发生变化。
我目前的尝试是做类似的事情
ui.tlbView->setSelectionMode(QAbstractItemView::SelectionMode::SingleSelection);
ui.tlbView->setSelectionBehavior(QAbstractItemView::SelectionBehavior::SelectRows);
connect(ui.tlbView,&QTableView::clicked ,this,&FancyWidget::rowSelected);
这有时有效,但有时会失败。例如,在选择更改时单击垂直标题不会注册。这很糟糕,因为我想要一个在每次选择更改时触发的信号。
这让我觉得捕捉点击信号是一种黑客行为,并且考虑到小部件正确识别它已被选中,即使我的点击信号未被调用也是如此。我试图弄清楚如何 1:1 匹配小部件的选择状态。
【问题讨论】: