pyqt patt