[PySide] Why doesn't this example work?

Jim Byrnes jf_byrnes at comcast.net
Fri Oct 24 20:12:41 CEST 2014


On 10/22/2014 10:52 PM, Eric Thomson wrote:
> I meant to write that I put
>           myWindow.repaint()
> before time.sleep(3).
>
> Incidentally, what book are you working through?

PySideGUI Application Development

>
> On 10/22/14, Eric Thomson <thomson.eric at gmail.com> wrote:
>> Try putting
>>           myWindow.repaint()
>> before myWindow.show().
>>
>> That took away the weird behavior on my end. I cannot explain it, though.

As amended above, it worked for me also.

Thanks,  Jim

>>
>> On 10/22/14, Jim Byrnes <jf_byrnes at comcast.net> wrote:
>>> In looking at the lists archives, I see that most of the participants
>>> seem to be experienced developers.  As a novice programmer I hope I am
>>> not intruding by asking some basic questions.
>>>
>>> I am working my way through examples in a PySide book I bought.
>>> According to the author the example should display a 200 x 150 window,
>>> pause 3 seconds and then display a 300 x 300 window.  On my system
>>> (Ubuntu 12.04) there is a approx 3 second delay after starting the
>>> program and then I see the 300 x 300 window. I never see the first
>>> window.
>>>
>>> Could someone explain to me why it does not act as described?
>>>
>>> # Import required modules
>>> import sys
>>> import time
>>> from PySide.QtGui import QApplication, QWidget
>>>
>>> class SampleWindow(QWidget):
>>>       """ Our main window class
>>>       """
>>>
>>>       # Constructor function
>>>       def __init__(self):
>>>           QWidget.__init__(self)
>>>           self.setWindowTitle("Sample Window")
>>>           self.setGeometry(300, 300, 200, 150)
>>>           self.setMinimumHeight(100)
>>>           self.setMinimumWidth(250)
>>>           self.setMaximumHeight(200)
>>>           self.setMaximumWidth(800)
>>>
>>> if __name__ == '__main__':
>>>       # Exception Handling
>>>       try:
>>>           myApp = QApplication(sys.argv)
>>>           myWindow = SampleWindow()
>>>           myWindow.show()
>>>           time.sleep(3)
>>>           myWindow.resize(300, 300)
>>>           myWindow.setWindowTitle("Sample Window Resized")
>>>           myWindow.repaint()
>>>           myApp.exec_()
>>>           sys.exit(0)
>>>       except NameError:
>>>           print("Name Error:", sys.exc_info()[1])
>>>       except SystemExit:
>>>           print("Closing Window...")
>>>       except Exception:
>>>           print (sys.exc_info()[1])
>>>
>>> Thanks,  Jim
>>>
>>> _______________________________________________
>>> PySide mailing list
>>> PySide at qt-project.org
>>> http://lists.qt-project.org/mailman/listinfo/pyside
>>>
>>





More information about the PySide mailing list