学习Qt:此“高级UI”使用哪种方法?

学习Qt:此“高级UI”使用哪种方法?,qt,model-view-controller,methodology,Qt,Model View Controller,Methodology,我正在使用PyQt学习Qt5。 我的目标是创建一个具有多个目标的UI,我将根据下面的屏幕截图来满足我的需要。 以下是我的目标: 我的需要 将目录添加到要扫描的目录列表中我知道如何使用QFileDialog.getExistingDirectory进行扫描。为此,我想有一个+按钮。 按下时,QFileDialog将打开并添加新行 然后我会扫描目录以查找文件。这将不是我的第一个实现,但我希望在扫描过程中在经典进度条的位置显示一个圆形进度条 扫描完成后,UI将显示扫描期间找到的文件数。进度条将被屏幕截

我正在使用PyQt学习Qt5。 我的目标是创建一个具有多个目标的UI,我将根据下面的屏幕截图来满足我的需要。 以下是我的目标:

我的需要 将目录添加到要扫描的目录列表中我知道如何使用QFileDialog.getExistingDirectory进行扫描。为此,我想有一个+按钮。 按下时,QFileDialog将打开并添加新行

然后我会扫描目录以查找文件。这将不是我的第一个实现,但我希望在扫描过程中在经典进度条的位置显示一个圆形进度条

扫描完成后,UI将显示扫描期间找到的文件数。进度条将被屏幕截图上未显示的记号图标所取代

在每行的开头,我希望有一个-按钮来删除该行

我的目标是学习 这很重要,我知道我不是第一个想到这样一个UI的人。 所以我不想在Qt上寻找第三方lib。 我的目标是通过这个例子学习使用PyQt的Qt5。 但如果这不现实,请告诉我

我的知识 模式视图:我实现了一些基本的模型视图小部件来显示字符串,并且我了解如何将这个想法扩展到表或树。 在这种情况下,表中的行数将自动处理。 但是,是否可以创建一个不仅显示字符串而且还显示小部件的表呢

Widget Mapper:我读到另一种方法是QDataWidgetMapper。在这种情况下,我必须自己创建新闻行,然后将数据映射到新闻行上。 但这似乎是一项艰苦而漫长的工作。 那么,这是个好主意吗

那么最后有人能告诉我最好的方向是什么吗? 我不是在寻找代码,但是因为学习新概念需要很多时间,所以我想在开始编码之前学习并使用正确的概念


谢谢你的帮助:

经过这么多的搜索,我发现我需要使用委托方法。 在Qt5中是QStyledItemDelegate,在Qt4中是QItemDelegate。 我当时可以找到一个很好的教程,但我开始编写它