我正在使用 PySide 使用 Python 和 Qt 编写桌面应用程序。我需要显示一个树视图,其中顶级项目是与其子项不同类型的对象。具体来说,顶级项目是 Git 存储库,而其子项目是工作树中的目录。
对于存储库,我想显示其路径和当前签出的分支。对于一个目录,我只想显示它的名称。
现在,我通过让我的QAbstractItemModel
后代使用isinstance
底层模型对象(从internalPointer()
方法中检索)并决定如何格式化结果字符串来做到这一点。
我想知道是否有一种更 Pythonic(或者不那么笨重)的方式来进行这种双重调度。
我不想做的是在我的 Git repo 和工作树文件的模型类中为此目的定义一个方法,因为我觉得这会违反 SRP。
任何想法或想法都是最受欢迎的。另外,如果有人能为这个问题想出一个不那么笨拙的标题,请告诉我;)