Bur's implementation is very nice.  I've modified the widgets paintEvent
method to add a Maya style look to them.  I can post back up if people are
interested.



On Mon, May 14, 2012 at 10:23 PM, Jo Jürgens <jojurg...@gmail.com> wrote:

> Nice work!
>
> Blur Studios have published all their pipeline scripts, and there's a
> pretty nice collapsible groupBox there. Might be interesting to have a look
> at.
>
> You can download a Windows installer from
> http://code.google.com/p/blur-dev/. If you just want the groupbox script,
> I pasted it here: http://pastebin.com/ZFUrj7sm
>
>
>
> On Fri, May 11, 2012 at 8:03 AM, Manuel Macha <man...@manuelmacha.de>wrote:
>
>> I'm on pyqt 4.7.3. The mistake that I was making was that I defined the
>> signal inside my init method.
>> Thanks Justin, I'll definitely stick with the new syntax from now on.
>> p.s: here's a working example: http://pastebin.com/zcTVbat0
>>
>>
>>
>>
>> On Fri, May 11, 2012 at 12:29 PM, Justin Israel 
>> <justinisr...@gmail.com>wrote:
>>
>>> New style signal slots were introduced in Qt 4.5. Maybe you are using a
>>> really old version of Qt?
>>>
>>>
>>>
>>> On May 10, 2012, at 7:20 PM, Manuel Macha <man...@manuelmacha.de> wrote:
>>>
>>> Hi Justin,
>>> many thanks for your help.
>>> I've cleaned up the mousePressEvent method as suggested (the original
>>> was eclipse's suggested default syntax for overriding a method)
>>> I'd prefer using the new-style signal-slots mechanism but in this case I
>>> couldn't get it to work, even trying several variations of the example that
>>> you've given.
>>> As for breaking the UI-setup into a bunch of smaller methods. I think I
>>> saw that in some book and found it helped me with breaking stuff into
>>> meaningful subtasks. I'm aware that it inflates the code and it's uncommon
>>> to do things that way but for me it's working.
>>> Anyways, here's how far I got with the frameLayout. I've added the
>>> collapse-arrow and a label:
>>> http://pastebin.com/qYgDDYsB
>>>
>>> Regards,
>>> Manuel
>>>
>>>
>>> On Fri, May 11, 2012 at 1:47 AM, Justin Israel 
>>> <justinisr...@gmail.com>wrote:
>>>
>>>> I don't think there is anything wrong with the approach you are taking.
>>>> This is the norm. The framework can't provide every type of functionality,
>>>> but they do give you a ton of building blocks to make it easy to compose
>>>> your own.
>>>>
>>>> There isn't much to say about your code other than me nit picking a
>>>> little :-)
>>>> But here are some small things...
>>>>
>>>>     def mousePressEvent(self, *args, **kwargs):
>>>>         self.emit(QtCore.SIGNAL('clicked()'))
>>>>         return QtGui.QFrame.mousePressEvent(self, *args, **kwargs)
>>>>
>>>> An event method will only receive a single event argument, and you
>>>> don't need to return anything. Right now this would be returning None all
>>>> the time. You can just take the single event arg, and then call the
>>>> superclass method with it.
>>>>
>>>> Also, you might want to consider using the new-style signal-slots if
>>>> you are just learning...
>>>> You can define signals as class attributes like this:
>>>>
>>>> class TitleFrame(QtGui.QFrame):
>>>>     clicked = QtCore.pyqtSignal()
>>>>
>>>> ... And then you can emit like this:
>>>>
>>>>      self.clicked.emit()
>>>>
>>>> ... And connections to the slot in your other class would be like:
>>>>
>>>>     self.titleFrame.clicked.connect(self.printSomething)
>>>>
>>>> Its much cleaner and easier to use. And you can create signals with
>>>> different signatures and slots of the same name that take different
>>>> signatures.
>>>>
>>>> Thats pretty much it. Like I said, the rest is just nit-picking (I find
>>>> it more obscure to define your UI setup in a bunch of smaller methods that
>>>> you call in a row, when they depend on each other, such as needing to
>>>> connect the signal and knowing that the UI object is there).
>>>>
>>>>
>>>> On May 10, 2012, at 4:50 AM, Manuel Macha wrote:
>>>>
>>>> One thing I really miss with PyQt is having a Maya-style collapsible
>>>> frameLayout readily available, so I hacked this together:
>>>> http://pastebin.com/5y8tsBE7
>>>> It's pretty simple at the moment. There's neither a label nor an icon
>>>> indicating the collapsed state.
>>>> Before I spend too much time on it, could you guys pls have a look and
>>>> tell me if this is a valid approach? (I just started familiarizing myself
>>>> with qt a few weeks ago)
>>>> In case this is way of doing things is not a good idea I'd appreciate
>>>> if someone could push me into the right direction (or ideally share their
>>>> working frameLayout code with the rest of us), otherwise any help in making
>>>> this better is greatly appreciated.
>>>> Regards,
>>>> m
>>>> p.s. are there any websites that have custom pyqt widgets for download?
>>>> I didn't really find anything through google.
>>>>
>>>> --
>>>> view archives: http://groups.google.com/group/python_inside_maya
>>>> change your subscription settings:
>>>> http://groups.google.com/group/python_inside_maya/subscribe
>>>>
>>>>
>>>>  --
>>>> view archives: http://groups.google.com/group/python_inside_maya
>>>> change your subscription settings:
>>>> http://groups.google.com/group/python_inside_maya/subscribe
>>>>
>>>
>>>  --
>>> view archives: http://groups.google.com/group/python_inside_maya
>>> change your subscription settings:
>>> http://groups.google.com/group/python_inside_maya/subscribe
>>>
>>>  --
>>> view archives: http://groups.google.com/group/python_inside_maya
>>> change your subscription settings:
>>> http://groups.google.com/group/python_inside_maya/subscribe
>>>
>>
>>  --
>> view archives: http://groups.google.com/group/python_inside_maya
>> change your subscription settings:
>> http://groups.google.com/group/python_inside_maya/subscribe
>>
>
>  --
> view archives: http://groups.google.com/group/python_inside_maya
> change your subscription settings:
> http://groups.google.com/group/python_inside_maya/subscribe
>



-- 
David Moulder
http://www.google.com/profiles/squish3d

-- 
view archives: http://groups.google.com/group/python_inside_maya
change your subscription settings: 
http://groups.google.com/group/python_inside_maya/subscribe

Reply via email to