hejialiangya 发表于 2023-7-5 15:13:40

QTableView.editTriggers,如何获取Value值

https://t1.wodetu.cn/2023/07/05/7b594e793b2653860ae67e268ddfe61a.png
我想获取tableview的状态,如果是不可编辑(NoEditTriggers)状态,就进入判断语句
直接用string去写判断语句,它不进if直接就进else了
https://t3.wodetu.cn/2023/07/05/8379299530d82925d107877fdbbde6b7.png
有人知道如何获取EditTrigger.Value吗。

陶远航 发表于 2023-7-5 15:13:53

QTableView的editTriggers属性控制了表格视图的编辑行为。您可以使用editTriggers()函数来获取当前的编辑触发器,进而判断表格视图是否处于不可编辑状态(NoEditTriggers)。以下是示例代码:

c++
#include <QApplication>
#include <QTableView>

int main(int argc, char *argv[]) {
    QApplication app(argc, argv);

    QTableView tableView;

    // 设置表格视图的编辑触发器
    tableView.setEditTriggers(QAbstractItemView::NoEditTriggers);

    // 获取当前的编辑触发器
    Qt::EditTrigger editTrigger = tableView.editTriggers();

    // 判断表格视图是否处于不可编辑状态
    if (editTrigger == QAbstractItemView::NoEditTriggers) {
      // 进入判断语句,执行相应的逻辑
      // 在这里可以使用string进行判断操作
    } else {
      // 执行其他逻辑
    }

    return app.exec();
}


以上代码演示了如何获取QTableView的编辑触发器(EditTrigger)的值,并进行判断。如果编辑触发器的值为QAbstractItemView::NoEditTriggers,即不可编辑状态,您可以在相应的判断语句中使用字符串进行条件判断。

hejialiangya 发表于 2023-7-5 15:22:44

哈哈,我捣鼓了半天,光只想着获取Value。怎么没想到直接用 QAbstractItemView::NoEditTriggers 去判断
成了,谢谢大哥
页: [1]
查看完整版本: QTableView.editTriggers,如何获取Value值