在保留文件扩展名的同时编辑 QTreeWidgetItem

问题描述

我有一个包含文件名的 QListWidget。右键单击某个项目会显示一个包含 Rename... 项目的菜单。单击 Rename... 允许用户编辑文件名。到目前为止一切顺利。

但是在 Qt Creator Projects 窗口中,右键单击(例如)foo.cpp 并选择 Rename... 会向用户显示一个字段,其中选择了 foo,而 .cpp 不是。因此认操作是重命名 foo 部分而不更改 .cpp 扩展名。

这正是我所需要的,但我没有看到使用 Qt 的公共 API 来实现它的方法。我需要做什么?我想自定义代表;但这肯定是一个常见的要求,所以我想知道是否有人有一些现成的 C++ 代码,我可以窃听?

解决方法

一种可能的解决方案是创建一个 QObject 来拦截编辑器的显示事件,然后更改选择:

{{1}}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...