def populate(self):
# This function will be used to populate the UI. Shocking. I know.
# First lets clear all the items that are in the list to start fresh
self.listWidget.clear()
# Then we ask our library to find everything again in case things changed
self.library.find()
# Now we iterate through the dictionary
# This is why I based our library on a dictionary, because it gives us all the nice tricks a dictionary has
for name, info in self.library.items():
# We create an item for the list widget and tell it to have our controller name as a label
item = QtWidgets.QListWidgetItem(name)
# We set its tooltip to be the info from the json
# The pprint.pformat will format our dictionary nicely
item.setToolTip(pprint.pformat(info))
# Finally we check if there's a screenshot available
screenshot = info.get('screenshot')
# If there is, then we will load it
if screenshot:
# So first we make an icon with the path to our screenshot
icon = QtGui.QIcon(screenshot)
# then we set the icon onto our item
item.setIcon(icon)
# Finally we add our item to the list
self.listWidget.addItem(item)
# This is a convenience function to display our UI
评论列表
文章目录