示例#1
0
def get_widget_key(widget: QObject, suffix=None):
    if widget is None:
        return None
    retKey = None
    while widget is not None:
        if retKey is None:
            retKey = widget.objectName()
        else:
            retKey = widget.objectName() + "-" + retKey
        widget = get_parent(widget)
    if suffix is not None:
        retKey = retKey + "-" + suffix
    return retKey
示例#2
0
 def eventFilter(self, obj: QObject, event: QEvent) -> bool:
     if event.type() == QEvent.MouseButtonRelease and isinstance(
             obj, VideoSlider):
         if obj.objectName() == 'VideoSlider' and (
                 self.mediaPlayer.isVideoAvailable()
                 or self.mediaPlayer.isAudioAvailable()):
             obj.setValue(
                 QStyle.sliderValueFromPosition(obj.minimum(),
                                                obj.maximum(), event.x(),
                                                obj.width()))
             self.mediaPlayer.setPosition(obj.sliderPosition())
     return QWidget.eventFilter(self, obj, event)
示例#3
0
 def __init__(self, obj: QObject, prop_name: str):
     self.obj = obj
     self.prop_name = prop_name
     obj_meta = obj.staticMetaObject
     prop_meta = obj_meta.property(obj_meta.indexOfProperty(prop_name))
     notify_signal_meta = prop_meta.notifySignal()
     assert notify_signal_meta, "property '{}' has no notifier".format(
         prop_name)
     notify_signal_name = bytes(notify_signal_meta.name()).decode('utf8')
     assert notify_signal_name, "property '{}' notifier has no name?!".format(
         prop_name)
     notify_signal = getattr(obj, notify_signal_name)
     with ScopedName(obj.objectName() + '.' + prop_name):
         super().__init__(notify_signal)
示例#4
0
 def _get_name_list(obj: QObject):
     return [
         str(obj.__class__.__name__),
         obj.objectName(), '',
         str(id(obj))
     ]