title: What's the proper way to associate data with a PyQt5 QTreeWidgetItem
body: <p>I am building a file tree browser with the PyQT5 QTreeWidget similar to the Macintosh Finder. (Strangely, there doesn't seem to be one.)</p>
  
  <p>I want to associate information with each QTreeWidgetItem. This is information beyond the string that is displayed.</p>
  
  <p>What's the correct way to do this? So far I've come up with:</p>
  
  <ol>
  <li>Subclass QTreeWidgetItem and add my own instance variables.</li>
  <li>Stuff the information into the model, somehow, but I'm not entirely sure how to do that. Perhaps I need to subclass the <code>QAbstractItemModel</code>?</li>
  <li>Create an associative array between the QTreeWidgetItems and my additional information? (Seems like a very bad idea.)</li>
  </ol>