我有QTableView子类,我正在标记并保存其状态:
connect(this,
SIGNAL(clicked(const QModelIndex &)),
this,
SLOT(clickedRowHandler(const QModelIndex &))
);
void PlayListPlayerView::clickedRowHandler(const QModelIndex & index)
{
int iSelectedRow = index.row();
QString link = index.model()->index(index.row(),0, index.parent()).data(Qt::UserRole).toString();
emit UpdateApp(1,link );
}
Run Code Online (Sandbox Code Playgroud)
现在我喜欢以编程方式将选择移动到下一行(而不是用鼠标按行)并调用clickedRowHandler(...)我该怎么做?谢谢
ald*_*ldo 15
您已经拥有当前行索引,因此请使用以下内容来获取下一行的modelindex
QModelIndex next_index = table->model()->index(row + 1, 0);
Run Code Online (Sandbox Code Playgroud)
然后,您可以将该modelindex设置为当前使用的
table->setCurrentIndex(next_index);
Run Code Online (Sandbox Code Playgroud)
显然你需要确保你没有超越表的末尾,并且可能还有一些额外的步骤来确保选择整行,但这应该让你更接近.