gpt4 book ai didi

c++ - 如何限制 QTableWidget 中的选择

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:41:15 25 4
gpt4 key购买 nike

我将如何限制在 QTableWidget 中选择的行/列?我需要强制用户使用连续选择(已经完成)来选择两列和任意数量的行。

谢谢!

最佳答案

您可能需要做以下两件事之一:

  1. 您必须子类化 QItemSelectionModel 并实现用于添加和删除选定的 QModelIndexes 的函数,以便您只向其中添加 2 行的项目。
  2. 您可以通过自定义实现来捕获 QItemSelectionModel 发出的信号,例如:

    connect(tableWidget->selectionModel(),
    SIGNAL(selectionChanged(QItemSelection &, QItemSelection &)),
    选择处理程序,
    SLOT(updateSelection(QItemSelection &, QItemSelection &)));

selectionHandler 是检查 QItemSelectionQModelIndex 项的行和列的对象,并删除所有在 QItemSelection 之外的索引您希望用户保留的行范围,然后:

selectionHandler->ignoreSelectionUpdateSignal();
tableWidget->selectionModel()->select(QItemSelection&);
selectionHandler->acceptSelectionUpdateSignal();

ignoreaccept 需要确保您不会进入无限循环处理 selectionChanged 信号。

关于c++ - 如何限制 QTableWidget 中的选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8658656/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com