I’m probably going about this all wrong but…
I am trying to populate a QTreeView from SQL data – using QAbstractItemModel (and having a great deal of trouble understanding it tbh). One of the tutorials I am following (the simplest) populates the Tree by simply calling new instances of the ‘Node’ and generating the model from the list. The Node has a name and a parentnode (as below). This is OK where you are generating the data within the program. This I can just about follow 🙂
However, I want to bring the data in from the table and use a string to identify the correct parentnode – mainly because if I am iterating over the records I won’t be able to name each one using a separate variable(?). It will be for x in recs: node = Node(“name”, parentnode).
When I do this, I get the obvious error message that the string isnt the correct object and has no methods. Is there a way of using a string derived from my table to identify the correct ‘parent’ object (either that, or could somebody point me in the direction of a very basic Qtreeview model tutorial designed for very enthusiastic, but not necessary gifted learners).
rootNode = Node("Hips")
childNode0 = TransformNode("RightPirateLeg", rootNode)
childNode1 = Node("RightPirateLeg_END", childNode0)
childNode2 = CameraNode("LeftFemur", rootNode)
childNode3 = Node("LeftTibia", childNode2)
childNode4 = Node("LeftFoot", childNode3)
childNode5 = LightNode("LeftFoot_END", childNode4)
I realise that I am probably running before I can walk here and apologise in advance for my ignorance.
Are the strings the names of global variables? If so, you can access the value refenced by the global variable with
globals()['name'], (replacing'name'with the string name of the variable of course.)Or, better yet, instead of littering variable names all over your global namespace
you could use a
dict:This makes it very easy to map between string names and values.