【问题标题】:How to trigger the edit mode of an item in a QTableView?如何触发 QTableView 中项目的编辑模式?
【发布时间】:2011-04-10 12:39:30
【问题描述】:

我现在正在使用 QTableView 和 QStandardItemModel。

在QTableView中,如果你双击一个单元格,这个单元格会进入编辑模式,你可以编辑它的内容。

现在我有一个问题,我想通过代码(通过命令)触发一个项目的编辑模式,我该怎么办?我在 QTableView 或 QStandardItemModel 中找不到合适的函数或插槽。我是否需要发出任何信号才能进入编辑模式?

如果我想知道编辑何时完成(用户按“Enter”或单击其他项目以离开编辑模式),我应该捕捉哪个信号??

感谢您的帮助

【问题讨论】:

    标签: user-interface qt qt4 qtableview qt4.6


    【解决方案1】:

    您应该能够使用QAbstractItemView 类的编辑方法来触发对给定模型索引的编辑。

    请看看下面的例子是否适合你:

    QModelIndex index = ui->tableView->model()->index(0, 0, QModelIndex());
    ui->tableView->edit(index);
    

    希望这会有所帮助,问候

    【讨论】:

    • 非常感谢您的帮助,它很有帮助,并且示例有效 :) 我无法给出多个答案的正确分数,所以我只能投票给您^^
    【解决方案2】:

    见:

    void QAbstractItemView::edit ( const QModelIndex & index ) [slot]
    void QAbstractItemView::closeEditor ( QWidget * editor, QAbstractItemDelegate::EndEditHint hint ) [virtual protected slot]
    void QAbstractItemView::editorDestroyed ( QObject * editor )   [virtual protected slot]
    

    【讨论】:

      猜你喜欢
      • 2012-09-04
      • 1970-01-01
      • 1970-01-01
      • 2012-02-06
      • 1970-01-01
      • 1970-01-01
      • 2015-03-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多