问题描述
我有一个包含文件名的 QListWidget
。右键单击某个项目会显示一个包含 Rename...
项目的菜单。单击 Rename...
允许用户编辑文件名。到目前为止一切顺利。
但是在 Qt Creator Projects
窗口中,右键单击(例如)foo.cpp
并选择 Rename...
会向用户显示一个字段,其中选择了 foo
,而 .cpp
不是。因此默认操作是重命名 foo
部分而不更改 .cpp
扩展名。
这正是我所需要的,但我没有看到使用 Qt 的公共 API 来实现它的方法。我需要做什么?我想自定义代表;但这肯定是一个常见的要求,所以我想知道是否有人有一些现成的 C++ 代码,我可以窃听?
解决方法
一种可能的解决方案是创建一个 QObject 来拦截编辑器的显示事件,然后更改选择:
{{1}}