Устранение предупреждений о сигнале уведомления свойства QWebChannel

Я использую QWebEngineView с QWebChannel, примерно так:

class AppView(QWebEngineView):
    def __init__(self):
        QWebEngineView.__init__(self)
        self.ch = QWebChannel(self.page())
        self.page().setWebChannel(self.ch)

Тогда я звоню:

self.ch.registerObject('app',self)

и все работает корректно. Однако затем я получаю лог-спам следующим образом:

...
Свойство 'title'' объекта 'AppView' не имеет сигнала уведомления и не является константой, обновления значений в HTML будут прерваны!
Свойство 'url'' объекта 'AppView' не имеет сигнала уведомления и не является постоянным, обновление значения в HTML будет нарушено!
Свойство 'selectedText'' объекта 'AppView' не имеет сигнала уведомления и не является постоянным, обновление значения в HTML будет нарушено!
Свойство 'hasSelection' ' объекта 'AppView' не имеет сигнала уведомления и не является постоянным, обновления значений в HTML будут прерваны!
Свойство 'zoomFactor'' объекта 'AppView' не имеет сигнала уведомления и не является постоянным, обновления значений в HTML будут сломайся!
...

Кажется, это свойства производного класса QWebEngineView, которые были извлечены. Есть ли способ правильно вывести это, или нужно изменить всю структуру, чтобы я не извлекал QWebEngineView?

AppView имеет другие сигналы и слоты, необходимые в коде JS.


person Dre West    schedule 17.01.2019    source источник
comment
Одно из решений состоит в том, чтобы просто избегать регистрации объектов со свойствами, которые не имеют сигнала уведомления (например, использовать делегат, который является подклассом QObject). Хотя во многих случаях это может быть неудобно. Поэтому может быть предпочтительнее установить обработчик сообщений и просто отфильтровать весь спам журнала в источнике.   -  person ekhumoro    schedule 17.01.2019


Ответы (1)


Отключить все предупреждения qt:

QtCore.qInstallMessageHandler(lambda x,y,z: None)

Подайте свою пользовательскую функцию-обработчик внутри для детальной фильтрации

person KnsRoo    schedule 26.05.2019