def eventFilter(self, obj, ev): if obj.metaObject().className() == "Gui::Dialog::AboutDialog": if ev.type() == ev.ChildPolished: # print(obj.metaObject().className()) mo = obj.metaObject() index = mo.indexOfMethod("on_copyButton_clicked()") if index > 0: mo.invokeMethod(obj, "on_copyButton_clicked") QtGui.QApplication.instance().postEvent(obj, QtGui.QCloseEvent()) return False
def __init__ (self, filename, path, parent = None): QtGui.QDialog.__init__ (self, parent) self.examfile = os.path.join (path, filename) if path == "" or filename == "" or not os.path.exists (path) or not os.path.isdir (path) or not os.path.isfile (self.examfile): msg = CommonError (self.tr ("File invalid.")) msg.exec_() QtGui.qApp.postEvent (self, QtGui.QCloseEvent()) return self.ui = Ui_player() self.ui.setupUi (self) self.setWindowFlags (QtCore.Qt.FramelessWindowHint) self.leftclicked = False winid = self.ui.frameaudio.winId() pythonapi.PyCObject_AsVoidPtr.restype = c_void_p pythonapi.PyCObject_AsVoidPtr.argtypes = [py_object] self.windowId = pythonapi.PyCObject_AsVoidPtr (winid) self.ui.frameaudio.mouseReleaseEvent = self.frameMouseRelease self.player = Player (self.windowId, self.ui.Sliderprogress.minimum(), self.ui.Sliderprogress.maximum(), self.ui.slidervolume.minimum(), self.ui.slidervolume.maximum()) self.ui.buttonplayerplay.clicked.connect (self.player.playclickedsignal) self.ui.buttonplayerstop.clicked.connect (self.player.stopclickedsignal) self.ui.buttonplayerbackward.clicked.connect (self.player.backwardclickedsignal) self.ui.buttonplayerforward.clicked.connect (self.player.forwardclickedsignal) self.ui.buttonvolume.clicked.connect (self.player.muteornotsignal) self.ui.Sliderprogress.valueChanged.connect (self.player.sliderseekvaluesignal) self.ui.slidervolume.valueChanged.connect (self.player.slidervolumevaluesignal) self.player.updatelabelduration.connect (self.updatelabelduration) self.player.updatesliderseek.connect (self.updatesliderseek) self.player.updateslidervolume.connect (self.updateslidervolume) self.player.setbuttonplay.connect (self.playersetbuttonplay) self.player.setbuttonpause.connect (self.playersetbuttonpause) self.player.startworker() self.player.playurisignal.emit (self.examfile) self.ui.label_3.setText (QtCore.QFileInfo (self.examfile).fileName()) self.ui.label_3.setAlignment (QtCore.Qt.AlignHCenter) self.ui.lineeditduration.setEnabled (False)