Как вызвать NSPasteboard withUniqueName из Python, используя PyObjC - PullRequest
0 голосов
/ 12 апреля 2019

Я пытаюсь создать новый монтажный стол, используя функцию уровня класса NSPasteboard с уникальным именем Python через Python через PyObjC, однако я получаю сообщение об ошибке «AttributeError: Нет атрибута с уникальным именем».

Это мое первое использование PyObjC. Я прочитал PyObjC intro , но я очень легко могу назвать его неверным.

Этот код выдает ошибку:

from AppKit import *
pb = NSPasteboard.withUniqueName()

Основываясь на обсуждении селекторов во вступлении, я также попытался:

from AppKit import *
pb = NSPasteboard.withUniqueName_()

но это также дало AttributeError.

Этот код (выдержка из http://www.macdrifter.com/2011/12/python-and-the-mac-clipboard.html работает:

from AppKit import *
pb = NSPasteboard.generalPasteboard()

Из документов NSPasteboard Я вижу, что withUniqueName - это функция класса, тогда как general - переменная класса, поэтому моя попытка вызвать withUniqueName таким же образом может быть ошибочной.

Пытаясь определить, неправильно ли я просто вызывал withUniqueName или PyObjC его не реализовал, я сделал dir(NSPasteboard). withUniqueName не было в списке, но не было ни «general», ни «generalPasteboard». Даже просматривая установленные модули, я не мог найти ни «общего», ни «общего компьютера», и я знаю, что последний работает, так что это расстроило мою попытку обнаружения. Также я не понимаю, почему код Python должен вызывать переменную как generalPasteboard, когда имя в документации Apple просто общее.

Я использую PyObjC 5.2, установленный из PyPI с Python 3.7.0 на Sierra 10.12.6.

Поддерживает ли PyObjC 5.2 NSPasteboard с уникальным именем? Если так, то как правильно это назвать? Если нет, то как мне проверить модуль / класс, чтобы узнать это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...