学习Qt:这个"高级UI"?使用哪种方法?

时间:2014-11-12 11:02:01

标签: qt model-view-controller methodology

我正在使用PyQt学习Qt5。 我的目标是创建一个具有多个目标的UI(我将根据下面的屏幕截图显示)。 所以这是我的目标:

我的需要

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

  2. 然后我会扫描目录以查找文件。它不会成为我的第一个实现,但我希望在扫描期间(在经典进度条的位置)显示循环进度条。

  3. 扫描完成后,UI将显示扫描期间找到的文件数。并且进度条将被刻度标记图标替换(屏幕截图中未显示...)。

  4. 在每行的开头,我想要一个" - "按钮删除行。

  5. UI

    我的目标是学习

    这很重要,我知道我不是第一个有这种UI想法的人。 所以我不在Qt之上寻找第三方库。 我的目标是通过这个例子学习Qt5(使用PyQt)。 但如果不切实际,请告诉我!

    我的知识

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

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

    所以最终有人能说出最佳方向是什么? 我不是在寻找代码,但由于需要花费大量时间来学习新概念,所以我希望在开始编码之前学习并使用正确的代码。

    感谢您的帮助:)!

1 个答案:

答案 0 :(得分:0)

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