PyQt6 – сигнал DBus не получен?Python

Программы на Python
Ответить
Anonymous
 PyQt6 – сигнал DBus не получен?

Сообщение Anonymous »

Я пытаюсь создать систему для отслеживания воспроизводимого в данный момент мультимедиа через mpris. Адаптировав ответ PyQt6 на этот вопрос, я попробовал следующий код:

Код: Выделить всё

from PyQt6 import QtCore, QtWidgets, QtDBus
import sys

class MainWindow(QtWidgets.QMainWindow):
def __init__ (self):
super().__init__()
service = 'org.mpris.MediaPlayer2.vlc'
path = '/org/mpris/MediaPlayer2'
iface = 'org.mpris.MediaPlayer2'
conn = QtDBus.QDBusConnection.systemBus()
conn.registerObject('/', self)
conn.connect(service, path, iface, 'PropertiesChanged', self.nochangeslot)

@QtCore.pyqtSlot(QtDBus.QDBusMessage)
def nochangeslot(self, msg):
print(f'signature: {msg.signature()!r}, '
f'arguments: {msg.arguments()!r}')

app = QtWidgets.QApplication(sys.argv)
window = MainWindow()
window.show()
app.exec()
Это должно подключить любой экземпляр VLC Media Player (заменить сервисом по вашему выбору или найти его программно), выдав PropertiesChanged к простой функции, которая печатает сообщение.
PropertiesChanged должен генерироваться при таких действиях, как изменение текущей песни. Однако при этом ничего не печатается. Я также попробовал изменить iface на «org.mrpis.MediaPlayer2.Player», но это не улучшило ситуацию.
Есть идеи, почему это не так работаешь?

Подробнее здесь: https://stackoverflow.com/questions/791 ... -receieved
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»