Когда я использую метод подключения сигнала, Basedpyright выдает предупреждение. Я использую сигнал, как указано в документации: some_object.someSignal.connect(some_callable). Работает, единственная проблема - предупреждение. Аналогичное предупреждение я получаю и в PyQt5, но эта часть была существенно переписана, поэтому сейчас я сосредоточусь на PyQt6. Полное сообщение об ошибке выглядит следующим образом:
Код: Выделить всё
Type of "connect" is partially unknown
Type of "connect" is "(slot: Unknown | pyqtBoundSignal) -> Connection" [reportUnknownMemberType]
Файл определения интерфейса PyQt6 содержит следующее:
Код: Выделить всё
class pyqtBoundSignal:
(...)
def connect(self, slot: 'PYQT_SLOT') -> 'QMetaObject.Connection': ...
(...)
PYQT_SLOT = typing.Union[collections.abc.Callable[..., Any], pyqtBoundSignal]
Мне кажется, проблема в том, что Basedpyright не распознает Collections.abc.Callable. Почему это? mypy не имеет проблем с кодом. В чем разница между коллекциями.abc.Callable и typing.Callable? Это ошибка в PyQt6 или в базе авторских прав? Есть ли какой-либо обходной путь, кроме отключения reportUnknownMemberType? Я не хочу полностью отключать предупреждение, потому что оно может быть полезно в других местах.
Подробнее здесь:
https://stackoverflow.com/questions/798 ... t6-connect