Hello Frank! Tried your code and it works fine (BTW: if you want to check us some code, it would be nice if the code is executable and shows a working example of your widget, otherwise all of us first have to write some lines of code to show your widget and chances are smaller that anybody tries it at all...).
There are no general guidelines about multiple inheritance, it's an endless discussion whether it's a good or a bad thing... I can just give you my guidelines, others will contradict:-) - in your case, it's definitively the wrong choice (see below) - use it wisely and rarely (I've only used it in two cases in my entire Python life...) - learn about the internals (e.g. how conflicting function names are resolved, etc.) Reason, why it's definitively not a good idea here: You wanted a mix of both looks and feels. The visual appearance should be somewhere between a combobox and a progress bar. So you want e.g. the paintEvent() of both classes to be executed. But since QComboBox is first in the inheritance order, only QComboBox.paintEvent() would be executed, your widget would never look like a progress bar. And this is just one example of conflicting methods. Implementing your own widget starting from QComboBox or from QProgressBar as you did now is the way I would choose. Cheers! Aaron Am 20.10.2013 07:37, schrieb Frank Rueter | OHUfx: > Hi all, > > I have written a custom comboBox which renders like a progress bar. > Depending on which item is chosen, the progress bar is updated accordingly: > http://pastebin.com/yWACCHH0) > > Initially I thought I'd be cheeky and try to inherit both QComboBox and > QProgessBar (in that order) to see if this is the easiest way to do > this, but the app crashed as soon as I used self.setItems() in the > constructor. > > I don't have a lot of experience with inheriting more than one object, > so thought I'd ask you guys for general guide lines (if there are any). > I'd imagine it's only safe to do if you know that none of the respective > attributes cause conflicts?! > > > Also, is the above code an ok way of doing this? I would just like to > know if this is how the pros would do it and avoid bad habits. > > Cheers, > frank > > _______________________________________________ > PySide mailing list > [email protected] > http://lists.qt-project.org/mailman/listinfo/pyside _______________________________________________ PySide mailing list [email protected] http://lists.qt-project.org/mailman/listinfo/pyside
