gpt4 book ai didi

QTableView : Best way to change activation-trigger to double-click

转载 作者:行者123 更新时间:2023-12-04 06:16:31 25 4
gpt4 key购买 nike

在我的应用程序中,我有一个项目的表格 View 和一个侧面板“预览”:最新选择的项目。

我想单击一个项目以更改选择,然后双击以执行“运行”操作。更具体地说,我希望将“运行”操作(包括键导航和按 Enter)绑定(bind)到表格行中项目的“激活”。

我的问题是;单击不仅会更改选择,还会在项目上触发“激活”信号。我想调整它,这样:

导航键,单击鼠标:选择更改,更新预览面板
输入键,鼠标双击:激活/运行/打开 Action 触发。

有没有一种很好的干净方法,或者覆盖 onclick/doubleclick 事件是我的最佳选择?还是有其他一些更适合我需要的表格列表小部件?

最佳答案

我会将预览操作的插槽连接到 currentChanged() TableView 的 selectionModel() 的信号。这包括单击和键导航。

然后有两个用于双击和 Enter 按键的选项:

  • 子类化您的 tableview,覆盖 doubleClickEvent() 和 keyPressEvent() 并在那里触发您的自定义信号,可能使用模型索引或其他东西作为参数。然后只需将您的 run 方法连接到您自己的信号,因为您可以完全控制它何时被触发。
  • 如果不想子类化,可以使用 installEventFilter()机制。
  • 关于QTableView : Best way to change activation-trigger to double-click,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7165453/

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