Oh also, sadly we are in a Windows facility and the Qt.Qindow doesn't seem
to promote the widget.
And for "In the background", I mean I'd like the window to display but then
if you click back in the Nuke interface, I'd like the window go behind
nuke.  If I use your example it does that, but I get the crash at close.




On Tue, Apr 3, 2012 at 6:17 PM, Brogan Ross <[email protected]> wrote:

> For a second there I thought this was gonna work.  Well, I mean it does.
>  It creates a separate window, but it brings me back to the original issue
> of Nuke crashing if the window is still open when closing Nuke.
> I'm going to try going make to setting the global variable and see if I
> can get that working with an onClose callback.
>
>
>
>
>
>
>
>
>
> On Tue, Apr 3, 2012 at 3:03 PM, Ivan Busquets <[email protected]>wrote:
>
>> When you say you want it to be "in the background", do you mean that
>> it's stealing focus from the parent's window when it's created? Or
>> that the OS doesn't see it as a separate window?
>>
>> As Nathan said, setting the Qt.Window flag on your Dialog/Widget
>> "should" promote it to its own Window, but I've only tried that in
>> Linux, so I don't know if this is any different on other platforms.
>>
>> As a workaround, if you already have your Widget/Dialog class, you
>> could just make a QMainWindow class as a container, and add your
>> widget to it. I've done this before to re-use a QWidget in different
>> places, for example.
>>
>> The example below is just a quick test, but it might give you an idea:
>>
>> from PySide import QtCore, QtGui
>>
>> class NewWindow(QtGui.QMainWindow):     # This is your MainWindow
>> container
>>    def __init__(self, parent=None):
>>        super(NewWindow, self).__init__(parent)
>>        self.ownWidget = myWidget()    # Add your own widget to this window
>>        self.setCentralWidget(self.ownWidget)
>>
>> class myWidget(QtGui.QDialog):
>>  def __init__(self, parent=None):
>>      super(myWidget, self).__init__(parent)
>>      self.setLayout(QtGui.QVBoxLayout())
>>      self.textlabel = QtGui.QLabel("some text")
>>      self.layout().addWidget(self.textlabel)
>>
>> f = NewWindow(QtGui.QApplication.activeWindow())    # Create a
>> NewWindow instance as a child of Nuke
>> f.show()
>>
>>
>> Hope that helps.
>>
>> Cheers,
>> Ivan
>>
>> On Tue, Apr 3, 2012 at 1:52 PM, Brogan Ross <[email protected]> wrote:
>> > Nathan, that doesn't seem to work for me.  It still leaves the window
>> on top
>> > of Nuke.
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> > On Tue, Apr 3, 2012 at 10:02 AM, Nathan Rusch <[email protected]
>> >
>> > wrote:
>> >>
>> >> As I mentioned last night (and after testing to confirm that it works),
>> >> you set the Qt.Window flag on your Widget or Dialog (works for either).
>> >>
>> >>
>> >> from PySide import QtCore, QtGui
>> >>
>> >> class ExtraNukeWindow(QtGui.QDialog):
>> >>   def __init__(self, parent=QtGui.QApplication.activeWindow()):
>> >>       super(ExtraNukeWindow, self).__init__(parent)
>> >>       self.setWindowFlags(QtCore.Qt.Window)
>> >>
>> >> ExtraNukeWindow().show()
>> >>
>> >>
>> >> -Nathan
>> >>
>> >> -----Original Message----- From: Matthieu Cadet
>> >> Sent: Tuesday, April 03, 2012 9:02 AM
>> >>
>> >> To: Nuke Python discussion
>> >> Subject: Re: [Nuke-python] PySide window makes nuke crash on close
>> >>
>> >> @Johan, yep i've made made a mistake in my code sample, normally i
>> >> always set parent=None in the __init__\
>> >> but if i put like you say :
>> >>
>> >> def __init__(self,parent=QtGui.QApplication.activeWindow())
>> >>
>> >> Nuke don't crashs!!!! this is exactly what i want, but..., when set
>> >> the parent to Nuke,
>> >> the QDialog is now part of Nuke window, it's no more a separated
>> >> window ( is not listed
>> >> in the taskbar in Windows, and cannot be accessed by Alt+Tab switch )
>> >>
>> >> @Brogan, have you found any trick for doing what you want for your
>> >> custom PySide window?
>> >>
>> >> On Tue, Apr 3, 2012 at 7:05 AM, Nathan Rusch <[email protected]
>> >
>> >> wrote:
>> >>>
>> >>> I’m not in front of any functional PySide installs at the moment, but
>> if
>> >>> I
>> >>> remember correctly, you just need to call
>> self.setWindowFlags(Qt.Window)
>> >>> in
>> >>> your QDialog’s __init__.
>> >>>
>> >>> -Nathan
>> >>>
>> >>>
>> >>> From: Brogan Ross
>> >>> Sent: Monday, April 02, 2012 9:44 PM
>> >>> To: Nuke Python discussion
>> >>> Subject: Re: [Nuke-python] PySide window makes nuke crash on close
>> >>>
>> >>> I'm in the same boat as, Matthieu.  I don't want the dialog to lock up
>> >>> Nuke.  I need it to just appear and be available if needed.
>> >>>
>> >>> I was doing things slightly different than Matthieu
>> >>>
>> >>> class TestWindow(QtGui.QWidget):
>> >>>    def __init__(self, parent=None):
>> >>>        QtGui.QWidget.__init__(self, parent)
>> >>>        self.setLayout(QtGui.QVBoxLayout())
>> >>>        self.line = QtGui.QLabel("some text")
>> >>>        self.layout()
>> >>>
>> >>> tw = TestWindow()
>> >>> tw.show()
>> >>>
>> >>>
>> >>> However, if I switch it over to QDialog and use activeWindow() as a
>> Johan
>> >>> said, everything works fine, no crashing.  With one exception.  The
>> >>> window
>> >>> stays on top of Nuke and I want it to be able to be in the background.
>> >>>
>> >>> Sorry, I'm very new to PyQt/PySide.
>> >>>
>> >>>
>> >>> Thanks
>> >>>
>> >>>
>> >>>
>> >>>
>> >>>
>> >>>
>> >>> ________________________________
>> >>> _______________________________________________
>> >>> Nuke-python mailing list
>> >>> [email protected], http://forums.thefoundry.co.uk/
>> >>> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
>> >>>
>> >>>
>> >>> _______________________________________________
>> >>> Nuke-python mailing list
>> >>> [email protected], http://forums.thefoundry.co.uk/
>> >>> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
>> >>>
>> >>
>> >>
>> >>
>> >> --
>> >> Matthieu Cadet
>> >> Compositor Artist & TD,
>> >> nWave Digital
>> >> [email protected]
>> >> _______________________________________________
>> >> Nuke-python mailing list
>> >> [email protected], http://forums.thefoundry.co.uk/
>> >> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
>> >> _______________________________________________
>> >> Nuke-python mailing list
>> >> [email protected], http://forums.thefoundry.co.uk/
>> >> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
>> >
>> >
>> >
>> > _______________________________________________
>> > Nuke-python mailing list
>> > [email protected], http://forums.thefoundry.co.uk/
>> > http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
>> >
>> _______________________________________________
>> Nuke-python mailing list
>> [email protected], http://forums.thefoundry.co.uk/
>> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
>>
>
>
_______________________________________________
Nuke-python mailing list
[email protected], http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python

Reply via email to