gpt4 book ai didi

c++ - 图标点击Qt QTreeWidget

转载 作者:行者123 更新时间:2023-11-30 04:40:35 27 4
gpt4 key购买 nike

我的 Qt 表单中有一个 treewidget。它显示了一个文件树,显示了一个代表它们的图标,以及它们的名称。

我使用 treeItem->setIcon(0, *icon)treeItem->setText(0, text) 输入了这些。

我将两个值输入到同一列 (0) 的原因是,否则图标将不会留在文本旁边,而是始终贴在左边,即使文本向右缩进也是如此(因为它是另一个项目的 child )。

问题是,现在我无法判断用户是点击了图标还是点击了文本本身,我需要分别处理这些。

那么,当单击树形小部件中的对象时,除了树项和列之外,是否还有更多信息,或者有什么方法可以将它们放在单独的列中,并且仍然具有图标和文本应有的正常行为?

谢谢。

最佳答案

如果您只是使用 clicked() 或 itemClicked() 信号,我认为没有直接的方法来获取更多信息。您可能必须创建一个继承 QTreeWidget 的自定义类,并重新实现其中一个虚拟鼠标事件函数。

mouseMoveEvent ( QMouseEvent * )
mousePressEvent ( QMouseEvent * )
mouseReleaseEvent ( QMouseEvent * )

这不是我推荐的东西,除非你真的知道你在做什么,并且真的需要这样做。

但是,我不记得在任何地方看到过列表小部件,其中单击图标的处理方式与单击同一列中的文本的处理方式不同。因此,如果您正在寻找“图标和文本应具有的正常行为”,您可能应该寻找其他解决方案。

关于c++ - 图标点击Qt QTreeWidget,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1062398/

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