QT QItemSelectionModel 忽略列?

2023-12-05

我试图将树的选择限制为特定列。

我大量使用委托来创建自定义的每项每列行为、编辑器等。我希望我可以通过阻止事件或类似的事情从委托中以某种方式完成此操作。问题是,我认为我必须创建一个完全自定义的解决方案来模仿扩展选择。

然而,经过大量搜索和很少的示例后,听起来我想在我的树视图上有一个自定义的 QItemSelectionModel 。这个假设正确吗?

如何创建一个自定义 QItemSelectionModel ,它将使用扩展选择模式,但允许我忽略或恢复选择(如果不在特定列中)。换句话说,单击另一列不应更改选择(不应选择或取消选择)

一旦我有了选择模型,我就知道如何添加它。我请求帮助实现派生类(除非这可以通过连接的信号来完成)。

我正在使用 Python,但希望得到任何帮助。

谢谢你,

[编辑:]我发现了这些类似的问题:http://lists.qt.nokia.com/pipermail/qt-interest/2010-September/027647.html

"子类 QItemSelectionModel 并重新实现两个选择方法以具有 你想要的行为。只需忽略列 > 0 的范围部分。 ... 或者也许只是重新实现 flags() 以使该项目不可选择。我不 知道这是否会产生任何副作用。”

我尝试在 QTreeWidgetItem 上重新实现标志,但从未被调用:

def flags(self, index):
    print index.column()
    return super(DDOutlinerBaseItem, self).flags(index)

理论上,以下调整应该有效。

上述解决方案可以使用两个单独的方法和 @pyqtSlot 装饰器来消除重载方法名称的歧义:

@pyqtSlot(QModelIndex, QItemSelectionModel.SelectionFlags)
  def select(self, index, command):
    # ...

@pyqtSlot(QItemSelection, QItemSelectionModel.SelectionFlags)
  def select(self, selection, command):
    #...

这避免了在方法实现中检查某些类的实例的需要。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

QT QItemSelectionModel 忽略列? 的相关文章

  • Twisted 的 Deferred 和 JavaScript 中的 Promise 一样吗?

    我开始在一个需要异步编程的项目中使用 Twisted 并且文档非常好 所以我的问题是 Twisted 中的 Deferred 与 Javascript 中的 Promise 相同吗 如果不是 有什么区别 你的问题的答案是Yes and No
  • 如何在python 3.7中生成条形码

    我正在使用 python 3 7 为了生成条形码 我尝试使用安装 pyBarcode 库pip install pyBarcode 但它显示以下错误 找不到满足 pyBarcode 要求的版本 来自版本 找不到 pyBarcode 的匹配分
  • 用缺失的日期填充其他列 Nan Pandas DataFrame

    我实际上是从几个 Excel 文件中提取数据来监控我的每日卡路里摄入量 我设法使用列表理解来生成日期 我尝试使用合并或连接 但它不起作用 ValueError 您正在尝试合并对象和 float64 列 date list 2021 05 2
  • 补丁 - 为什么相对补丁目标名称不起作用?

    我已经从模块导入了一个类 但是当我尝试修补类名而不使用模块作为前缀时 出现类型错误 TypeError Need a valid target to patch You supplied MyClass 例如 以下代码给出了上述错误 imp
  • 如何检查python xlrd库中的excel文件是否有效

    有什么办法与xlrd库来检查您使用的文件是否是有效的 Excel 文件 我知道还有其他库可以检查文件头 我可以使用文件扩展名检查 但为了多平台性我想知道是否有任何我可以使用的功能xlrd库本身在尝试打开文件时可能会返回类似 false 的内
  • sklearn 中的 pca.inverse_transform

    将我的数据拟合后 X 我的数据 pca PCA n components 1 pca fit X X pca pca fit transform X 现在 X pca 具有一维 当我根据定义执行逆变换时 它不是应该返回原始数据 即 X 二维
  • 如果未引发异常,则通过 Python 单元测试

    在Python中unittest框架 是否有一种方法可以在未引发异常的情况下通过单元测试 否则会因 AssertRaise 而失败 如果我正确理解你的问题 你could做这样的事情 def test does not raise on va
  • 在没有模型的情况下将自定义页面添加到 django admin

    我正在尝试在没有模型关联的情况下向管理员添加自定义页面 这就是我迄今为止所取得的成就 class MyCustomAdmin AdminSite def get urls self from django conf urls import
  • Emacs 24.x 上的 IPython 支持

    我对 IPython 与 Emacs 的集成感到困惑 从 Emacs 24 开始 Emacs 附带了自己的python el 该文件是否支持 IPython 还是仅支持 Python 另外 维基百科 http emacswiki org e
  • Gspread如何复制sheet

    在 Stackoverflow 上进行谷歌搜索和搜索后 我想我找不到有关如何复制现有工作表 现有模板工作表 并将其保存到另一个工作表中的指南 根据文档 有重复表 https gspread readthedocs io en latest
  • 使用Python计算目录的大小?

    在我重新发明这个特殊的轮子之前 有没有人有一个很好的例程来使用 Python 计算目录的大小 如果例程能够很好地以 Mb Gb 等格式格式化大小 那就太好了 这会遍历所有子目录 总结文件大小 import os def get size s
  • 如何在 pandas 中使用 read_fwf 跳过空行?

    I use pandas read fwf http pandas pydata org pandas docs stable generated pandas read fwf htmlPython pandas 0 19 2 中的函数读
  • 使用 Pandas 计算 delta 列

    我有一个数据框 如下所示 Name Variable Field A 2 3 412 A 2 9 861 A 3 5 1703 B 3 5 1731 A 4 0 2609 B 4 0 2539 A 4 6 2821 B 4 6 2779 A
  • Jython 和 SAX 解析器:允许的实体不超过 64000 个?

    我做了一个简单的测试xml saxJython 中的解析器在处理大型 XML 文件 800 MB 时遇到以下错误 Traceback most recent call last File src project xmltools py li
  • Python:IndexError:修改代码后列表索引超出范围

    我的代码应该提供以下格式的输出 我尝试修改代码 但我破坏了它 import pandas as pd from bs4 import BeautifulSoup as bs from selenium import webdriver im
  • 动态过滤 pandas 数据框

    我正在尝试使用三列的阈值来过滤 pandas 数据框 import pandas as pd df pd DataFrame A 6 2 10 5 3 B 2 5 3 2 6 C 5 2 1 8 2 df df loc df A gt 0
  • 如何根据第一列创建新列,同时考虑Python Pandas中字母和列表的大小? [复制]

    这个问题在这里已经有答案了 我在 Python Pandas 中有 DataFrame 如下所示 col1 John Simon prd agc Ann White BeN and Ann bad list Ben Wayne 我需要这样做
  • 多个对象以某种方式相互干扰[原始版本]

    我有一个神经网络 NN 当应用于单个数据集时 它可以完美地工作 但是 如果我想在一组数据上运行神经网络 然后创建一个新的神经网络实例以在不同的数据集 甚至再次同一组数据 上运行 那么新实例将产生完全错误的预测 例如 对 XOR 模式进行训练
  • 使用ssl和socket的python客户端身份验证

    我有一个 python 服务器 需要客户端使用证书进行身份验证 我如何制作一个客户端脚本 使用客户端证书由 python 中的服务器使用 ssl 和套接字模块进行身份验证 有没有仅使用套接字和 ssl 而不扭曲的示例 from OpenSS
  • Apache Beam Pipeline 写表后查询表

    我有一个 Apache Beam Dataflow 管道 它将结果写入 BigQuery 表 然后我想查询该表以获取管道的单独部分 但是 我似乎无法弄清楚如何正确设置此管道依赖性 我编写的新表 然后想要查询 与一个单独的表连接以进行某些过滤

随机推荐

  • Karate 0.9.6 到 1.0.1 升级问题与数组参数

    在空手道中发送空数组参数时 不会发送该参数 Example Given url homeUrl And path types And param filterTypes When method GET Then status 200 And
  • Firebase函数无法从源加载函数定义错误解决方案

    错误 无法从源加载函数定义 无法从 函数源生成清单 错误 ERR PACKAGE PATH NOT EXPORTED 包子路径 lib firestore 未由 Users macbook Desktop ein itin 中的 expor
  • 多值字典?

    任何人都知道一个好的实施MultiValueDictionary 基本上 我想要一个允许每个键有多个值的东西 我希望能够做类似的事情 dict Add key val 如果该键尚不存在 它将添加它 如果存在 它只会向该键添加另一个值 我只是
  • 如何使 django-registration 使用我自定义的 UserCreationForm 和 UserChangeForm?

    我正在使用 Django 1 4 开发一个网站django registration 我希望允许用户使用任意 Unicode 字符创建用户名 目前 如果有人尝试使用非拉丁字符注册 他将看到一条错误消息 负责拒绝这种非 ASCII 用户名的代
  • 使用 mvc3 下拉列表的 jquery 自动完成

    我正在使用 ASP NET MVC3 和 EF Code First 我以前没有使用过 jQuery 我想将自动完成功能添加到绑定到我的模型的下拉列表中 下拉列表存储 ID 并显示值 那么 如何连接 jQuery UI 自动完成小部件以在用
  • 删除列表中的重复项(Prolog)

    我对 Prolog 完全陌生 正在尝试一些练习 其中之一是 编写谓词集 InList OutList 它以任意输入作为输入 列表 并返回一个列表 其中每个 仅出现输入列表的元素 一次 这是我的解决方案 member X X member X
  • Android - 键盘覆盖输入框 - 即使在 Chrome 浏览器中也是如此

    是否有 HTML5 css js 解决方案可以在软键盘出现时弹出窗口内容 例如 如果您打开鸭鸭网在 Android 设备上并在输入字段中输入文本 当软键盘出现时 它会将内容向上突出 这样就不会覆盖输入框 比较一下Shottag com其中键
  • 如何使 MDI 子窗口位于其兄弟窗口之上?

    这个问题与我的上一个 我有一个 MFC VC6 MDI 应用程序 它有多个 MDI 子窗口 充当一个文档的不同视图 是否可以将其中一个框架设置为位于其他框架之上 我试过打电话 SetWindowPos GetParentFrame gt w
  • 在 Linux 上使用 gaction 更新 Google Home/Assistant 包时,Golang 运行时出现恐慌?

    我正在尝试使用本教程中的说明在 Linux 14 04 LTS 机器 不是 Windows 上构建我的第一个 Google Home 应用程序 https medium com google cloud building your firs
  • 从 PHP 中的变量返回第一句话

    我已经找到了类似的线程 sentence preg replace s 1 string 但这似乎在我的函数中不起作用 当句子作为段落的结尾结束时 似乎没有考虑第一句 有任何想法吗 Get the first se
  • 使用根节点勾选后中心力定向布局(返回中心)

    我正在使用 D3 js 尝试强制定向布局 我需要的是按根 或其他选定的节点 将布局居中 并在刻度函数完成后将此节点返回到 svg 例如画布 中心 图形 alpha 较低 是否可以 我找到了一个例子 http bl ocks org 1080
  • 将 DKM 项目链接到内核映像 (VIP) 项目作为 VxWorks Workbench4 中的子项目/额外模块

    如何将 DKM 项目与内核映像 VIP 项目链接 加载 以便我可以从内核映像项目的 usrAppInit c 调用 DKM 项目 应用程序 的入口点函数 以在启动时自动启动应用程序 有人可以描述步骤或向我指出任何文档吗 将 DKM 项目添加
  • 如何使用反应钩子将新值推入当前数组?

    这是源代码 import React useState from react import ReactDOM from react dom import styles css function App const arr setArr us
  • Codeigniter xss_clean 困境

    我知道这个问题已经被问了一遍又一遍 但我仍然没有找到我喜欢的完美答案 所以这里又来了 我读过很多关于 CI 的 xss filter 的两极分化的评论 基本上大多数人都说这很糟糕 有人可以详细说明它的坏处吗 或者至少给出一种最有可能被利用的
  • 获取 SQL 中每 X 行的平均值

    假设我有下表 Id Value 1 2 0 2 8 0 3 3 0 4 9 0 5 1 0 6 4 0 7 2 5 8 6 5 我想绘制这些值 但由于我的真实表有数千个值 我考虑对每 X 行进行获取和平均值 有什么方法可以让我这样做 即每
  • 如何使用 Open XML SDK 获取 SdtBlock 元素中的形状列表?

    如何使用 Open XML SDK 获取广告块元素中的形状 文本框 列表 Regards 为了抓取一个图中的所有形状WordProcessingDocument您可以使用 linq 遍历 body 的所有后代 using Wordproce
  • 将 Java 字符串传递给 Javascript

    我正在尝试通过使用 JSON 格式的字符串初始化 Javascript 变量来加载数据表 如果我声明
  • 自动完成文本框控件

    我想要一个文本框控件 它可以使用 C 2008 和 LINQ 在 Windows 应用程序中建议和附加数据库中的值 我用组合框来做到这一点 但我不能用文本框来做到这一点 我该怎么做 这可能不是最好的方法 但应该有效 this textBox
  • Android GSON反序列化删除空数组

    我正在使用 GSON 和 Retrofit 我想禁用空数组字段反序列化 DTO public class Entity implements Serializable SerializedName body Expose private B
  • QT QItemSelectionModel 忽略列?

    我试图将树的选择限制为特定列 我大量使用委托来创建自定义的每项每列行为 编辑器等 我希望我可以通过阻止事件或类似的事情从委托中以某种方式完成此操作 问题是 我认为我必须创建一个完全自定义的解决方案来模仿扩展选择 然而 经过大量搜索和很少的示