QTableWidgetItem 将光标移动到一个单元格(不只选择)

Posted

技术标签:

【中文标题】QTableWidgetItem 将光标移动到一个单元格(不只选择)【英文标题】:QTableWidgetItem move cursor to a cell (not select only) 【发布时间】:2020-03-18 12:31:24 【问题描述】:

我的任务很简单。在表格中,用户输入数字并按下回车键后移动到下一行。

我有 QTableWidgetkey event 正在获取 光标位置从信号

connect(ui->table->selectionModel(), SIGNAL(currentChanged(QModelIndex,QModelIndex)), key, SLOT(cell_position(QModelIndex)));

关键事件:

...
if ( (key->key()==Qt::Key_Enter) ) 
...

QTableWidgetItem:

...        
QTableWidgetItem *item = table->item(m_pos, n_pos);
        if(item == nullptr)
            
             QTableWidgetItem *item = new QTableWidgetItem;
             table->setItem(m_pos, n_pos, item);
             item->setSelected(1);
...

但它给了我这种行为 - 它选择了当前输入的单元格下的单元格。光标停留在其位置。

请问,您知道如何向下移动光标吗?我尝试了一些 QTableWidgetItem 方法,但没有找到合适的方法。

谢谢。

更新: 而不是

item->setSelected(1);

我用

table->setCurrentItem(item);

这可以满足我的需要。它将光标移动到项目单元格。

【问题讨论】:

【参考方案1】:

如果我理解正确,您想更改当前项目,您可以调用QTableWidget::setCurrentItem() 方法。

见QTableWidget::setCurrentItem

【讨论】:

谢谢法比奥。这正是我所需要的。

以上是关于QTableWidgetItem 将光标移动到一个单元格(不只选择)的主要内容,如果未能解决你的问题,请参考以下文章

Vim常用指令

Vim常用指令

Vim常用指令

pycharm如何将光标移动到最后一个字符

Android将光标从一个EditText移动到另一个EditText?

Linux命令: 编辑模式移动光标