0

我有以下课程:

    class DBusAdaptor(QDBusAbstractAdaptor):

        Q_CLASSINFO("D-Bus Interface", 'org.kde.kdialog.ProgressDialog')

        Q_CLASSINFO("D-Bus Introspection", '''<interface name="org.kde.kdialog.ProgressDialog">
            <property name="maximum" type="i" access="readwrite"/>
            <method name="close"/>
            </interface>''')

        def __init__(self, parent):
            super(DBusAdaptor, self).__init__(parent)
            self.parent = parent

        @pyqtSlot()
        def close(self):
            self.parent.close()

        @pyqtProperty(int)
        def maximum(self): # BUG: No such method 'maximum' in any interface at object path '/ProgressDialog' (signature '') 
            return self.parent.progressBar.maximum()

        @maximum.setter
        def maximum(self, maximum):
            self.parent.progressBar.setMaximum(maximum)        

它失败并出现以下错误:

$ qdbus org.kde.kdialog-15070 /ProgressDialog maximum
Error: org.freedesktop.DBus.Error.UnknownMethod
No such method 'maximum' in any interface at object path '/ProgressDialog' (signature '')

二传手工作得很好,所以我不知道这里出了什么问题。

4

1 回答 1

0

我对适配器有一个误解:这里有一个例子可以帮助我理解它是如何工作的:

http://permalink.gmane.org/gmane.comp.python.pyqt-pykde/24405

于 2016-07-18T08:24:44.063 回答