我使用 QTreeView 来可视化我的对象属性。它类似于 Qt 设计器中的属性编辑器。我有各种值,布尔值,文本,颜色值,枚举,浮点数,整数,文件名等。
我使用自定义模型来保存所有对象值并通过自定义委托显示它。因此,委托检测数据的类型并具有用于编辑的特殊表示,例如用于 int/float 的 Spinboxes 和用于 bool 的复选框。目前,我的代表为例如旋转框创建编辑器并覆盖paint() 函数以将值表示为复选框。
现在我想允许用户以两种方式编辑一个值。用户应使用普通文本字段进行编辑、复制/粘贴等来更改值或按下按钮打开 QFileDialog 并选择正确的文件。
它应该如下图所示:
我怎样才能做到这一点?
我需要一个文本字段和一个按钮来打开 QFileDialog。
我使用 Qt 5.0。谢谢帮助