HI Justin, 

I total get why you are up in the air with this haha, It is because I am 
just prototyping with ideas in my head with what I want it to do. 
My experience in QT is not basic but then again it is not as strong as I 
want it to be either.I will try to explain my main goal more explicitly.

1. The idea is to get a tree that has 3 or 4 topLevelItems and only 1 of 
them can be dropdraggable (the prebuild) this is because the top level item 
will be linked to the rootNode in maya. and maybe any part can be classed 
as a root node or joint.
2. I have a built up library of classes that create joints and limbs and 
everything in-between that will hook up to the branches and topLevelItems. 
3. On the right I have a stack with a list and a table which is entirely 
just for visuals to show when I am able to actually get the stack switching 
from one page to another. The tree should only work within itself. 
4. I want to toy with the idea of using the lineEdit as both a filter and a 
node installer. I have various other nodes that I would like the line edit 
only to recognize in the line edit, (** Only when the button is clicked ** 
).. Other than this it should just work as a normal filter.
5.The tree will be relevant to the stack on the right not only by page but 
by nodes in mayas, so if i selected limb on the right a stack will show the 
limb window with leg/ arm/ finger/ toes etc and to choose how many segments 
per part. 
6. I do have some code to hardcode from before show below

class UI(QMainWindow):
    def __init__(self, *args, **kwargs):
        QMainWindow.__init__(self, *args, **kwargs)
        main_wid = QWidget(self)
        self.setCentralWidget(main_wid)

        layout = QHBoxLayout(self)
        main_wid.setLayout(layout)

        self.tree = QTreeWidget(self)
        layout.addWidget(self.tree)

        item1 = QTreeWidgetItem('Bip')
        self.tree.addTopLevelItem(item1)
        item2 = QTreeWidgetItem('Quad')
        self.tree.addTopLevelItem(item2)

        self.stack = QStackedWidget(self)
        layout.addWidget(self.stack)

        page1 = QLabel('Please Change setting for your preferences', self)
        self.stack.addWidget(page1)

        page2 = QLabel('Page2 : quad', self)
        self.stack.addWidget(page2)
        self.tree.itemSelectionChanged.connect(self.update_page)
        self.show()

    def update_page(self):
        item = self.tree.currentItem()

        # -- Do nothing if we don't have a current item
        if not item:
            return

        # -- Check the item's text
        if item.text(0) == 'Bip':
            self.stack.setCurrentIndex(0)

        else:
            self.stack.setCurrentIndex(1)

        # -- Or use the 'row'

        top_item_count = self.tree.topLevelItemCount()
        for i in xrange(top_item_count):
            if item is self.tree.topLevelItem(i):
                self.stack.setCurrentIndex(i)
                return
This code works fine if it is needed for a hard coded project. But as I 
need it to be a bit more dynamic and switch from pages that are not even 
configured. This is where the lineEdit and button comes in. 
Don't take notice of the indents as it is just the code that I am concerned 
about, trying to figure what does what.

-- 
You received this message because you are subscribed to the Google Groups 
"Python Programming for Autodesk Maya" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/python_inside_maya/db442c90-920f-4f0d-b601-92098ef514e8%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to