【问题标题】:PyQt - emit new signals dynamicallyPyQt - 动态发出新信号
【发布时间】:2016-11-16 18:42:26
【问题描述】:

我在 PyQt4 中有这段代码:

def _settings_value_changed(self, key, value):
    signal_name = "%s(PyQt_PyObject)" % key.replace("/", "_")
    self.emit(SIGNAL(signal_name), value)

我正在尝试将那部分代码迁移到 PyQt5 。 我们知道 PyQt5 信号必须定义为类属性,我的问题是:有没有办法动态创建这些信号?

【问题讨论】:

  • 据我所知没有。你的用例是什么?

标签: python pyqt signals-slots


【解决方案1】:

您发布的代码似乎没有从使用信号中获得太多好处,因此也许您可以重构代码以直接调用插槽,使用getattr

def _settings_value_changed(self, key, value):
    getattr(self, key.replace("/", "_"))(value)

【讨论】:

    猜你喜欢
    • 2017-10-13
    • 2018-08-02
    • 1970-01-01
    • 2021-12-17
    • 2018-01-15
    • 2013-07-01
    • 1970-01-01
    • 2013-08-24
    • 2016-02-04
    相关资源
    最近更新 更多