【发布时间】:2019-08-07 14:11:12
【问题描述】:
我有一个 LogMixIn 类。我想创建一个 Logger 类,我可以向 QML 公开以供我的 QML 使用。由于我要使用的所有方法都来自 LogMixIn,有没有办法装饰继承的方法,而不是像下面的示例中那样重新定义它们?
my_logging_lib.py
class LogMixIn():
def logDebug(self, msg):
# Log msg at Debug Severity
qml_logger.py
from PyQt5.QtCore import QObject, pyqtSlot
from my_logging_lib import LogMixIn
class QmlLogger(QObject, LogMixIn):
@pyqtSlot(str)
def logDebug(self, msg):
super().logDebug(msg)
注意 1:LogMixIn 用于大部分非 UI 代码,因此希望保持它与 QT 无关。
【问题讨论】:
-
@eyllanesc,这是正确的。上面的实现工作正常,而且看起来是正确的,但从概念上讲,似乎还有另一种方法可以以一种干净、紧凑的方式来实现。
标签: python qml pyqt5 decorator slot