我正在使用PyQt学习Qt5。 我的目标是创建一个具有多个目标的UI(我将根据下面的屏幕截图显示)。 所以这是我的目标:
将目录添加到要扫描的目录列表中(我知道如何使用QFileDialog.getExistingDirectory
)。为此,我想要一个" +"按钮。
按下时,QFileDialog
将打开,并添加新行。
然后我会扫描目录以查找文件。它不会成为我的第一个实现,但我希望在扫描期间(在经典进度条的位置)显示循环进度条。
扫描完成后,UI将显示扫描期间找到的文件数。并且进度条将被刻度标记图标替换(屏幕截图中未显示...)。
在每行的开头,我想要一个" - "按钮删除行。
这很重要,我知道我不是第一个有这种UI想法的人。 所以我不在Qt之上寻找第三方库。 我的目标是通过这个例子学习Qt5(使用PyQt)。 但如果不切实际,请告诉我!
模式视图:我实现了一些基本的模型视图窗口小部件来显示字符串,我理解如何将这个想法扩展到表格或树。 在这种情况下,表中的行数将自动处理。 但是有可能创建一个不仅会显示字符串而且还会显示小部件的表吗?
Widget Mapper :我读到另一种方法是QDataWidgetMapper
。在这种情况下,我将不得不自己处理新闻行的创建,然后我将数据映射到它们。
但这似乎是一项艰苦而漫长的工作。
那么,这是个好主意吗?
所以最终有人能说出最佳方向是什么? 我不是在寻找代码,但由于需要花费大量时间来学习新概念,所以我希望在开始编码之前学习并使用正确的代码。
感谢您的帮助:)!
答案 0 :(得分:0)
经过更多搜索,我发现我需要使用委托方法。
在Qt5中它是QStyledItemDelegate
,在Qt4中它是QItemDelegate
。
我现在可以找到一个很好的教程,但我开始编写它。