本文整理汇总了Python中AppKit.NSImage.alloc方法的典型用法代码示例。如果您正苦于以下问题:Python NSImage.alloc方法的具体用法?Python NSImage.alloc怎么用?Python NSImage.alloc使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AppKit.NSImage
的用法示例。
在下文中一共展示了NSImage.alloc方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: notify
# 需要导入模块: from AppKit import NSImage [as 别名]
# 或者: from AppKit.NSImage import alloc [as 别名]
def notify(title, subtitle, info_text, delay=0, sound=False, userInfo={},
is_error=False):
icon = NSImage.alloc().initByReferencingFile_(
os.path.join(ICON_PATH, 'douban.png'))
notification = NSUserNotification.alloc().init()
notification.setTitle_(title)
notification.setSubtitle_(subtitle)
notification.setInformativeText_(info_text)
notification.setUserInfo_(userInfo)
notification.set_identityImage_(icon)
if is_error:
error_image = NSImage.alloc().initByReferencingFile_(
os.path.join(ICON_PATH, 'error.png'))
notification.setContentImage_(error_image)
if sound:
notification.setSoundName_('NSUserNotificationDefaultSoundName')
notification.setDeliveryDate_(
Foundation.NSDate.dateWithTimeInterval_sinceDate_(
delay, Foundation.NSDate.date()))
NSUserNotificationCenter.defaultUserNotificationCenter(
).scheduleNotification_(notification)
示例2: notification
# 需要导入模块: from AppKit import NSImage [as 别名]
# 或者: from AppKit.NSImage import alloc [as 别名]
def notification(title, subtitle, message, data=None, sound=True):
"""
Notification sender. Apple says, "The userInfo content must be of reasonable serialized size (less than 1k) or an
exception will be thrown." So don't do that!
"""
"""
if data is not None and not isinstance(data, Mapping):
raise TypeError('notification data must be a mapping')
notification = NSUserNotification.alloc().init()
notification.setTitle_(title)
notification.setSubtitle_(subtitle)
notification.setInformativeText_(message)
notification.setUserInfo_({} if data is None else data)
if sound:
notification.setSoundName_("NSUserNotificationDefaultSoundName")
notification.setDeliveryDate_(NSDate.dateWithTimeInterval_sinceDate_(0, NSDate.date()))
NSUserNotificationCenter.defaultUserNotificationCenter().scheduleNotification_(notification)
"""
pass
示例3: __init__
# 需要导入模块: from AppKit import NSImage [as 别名]
# 或者: from AppKit.NSImage import alloc [as 别名]
def __init__(self, message, title='', default_text='', ok=None, cancel=False, dimensions=(320, 160)):
message = str(message)
title = str(title)
self._default_text = default_text
self._cancel = bool(cancel)
self._icon = None
self._alert = NSAlert.alertWithMessageText_defaultButton_alternateButton_otherButton_informativeTextWithFormat_(
title, ok, 'Cancel' if cancel else None, None, message)
self._alert.setAlertStyle_(0) # informational style
self._textfield = NSTextField.alloc().initWithFrame_(NSMakeRect(0, 0, *dimensions))
self._textfield.setSelectable_(True)
if default_text:
self._textfield.setStringValue_(default_text)
self._alert.setAccessoryView_(self._textfield)
示例4: run
# 需要导入模块: from AppKit import NSImage [as 别名]
# 或者: from AppKit.NSImage import alloc [as 别名]
def run(self):
"""
Perform various setup tasks then start application run loop.
"""
nsapplication = NSApplication.sharedApplication()
nsapplication.activateIgnoringOtherApps_(True) # NSAlerts in front
self._nsapp = NSApp.alloc().init()
self._nsapp._app = self.__dict__ # allow for dynamic modification based on this App instance
self._nsapp.initializeStatusBar()
nsapplication.setDelegate_(self._nsapp)
#NSUserNotificationCenter.defaultUserNotificationCenter().setDelegate_(self._nsapp)
setattr(App, '*app_instance', self) # class level ref to running instance (for passing self to App subclasses)
t = b = None
for t in getattr(timer, '*timers', []):
t.start()
for b in getattr(clicked, '*buttons', []):
b(self) # we waited on registering clicks so we could pass self to access _menu attribute
del t, b
AppHelper.runEventLoop()
#sys.exit(0)
示例5: _nsimage_from_file
# 需要导入模块: from AppKit import NSImage [as 别名]
# 或者: from AppKit.NSImage import alloc [as 别名]
def _nsimage_from_file(filename, dimensions=None, template=None):
"""Take a path to an image file and return an NSImage object."""
try:
_log('attempting to open image at {0}'.format(filename))
with open(filename):
pass
except IOError: # literal file path didn't work -- try to locate image based on main script path
try:
from __main__ import __file__ as main_script_path
main_script_path = os.path.dirname(main_script_path)
filename = os.path.join(main_script_path, filename)
except ImportError:
pass
_log('attempting (again) to open image at {0}'.format(filename))
with open(filename): # file doesn't exist
pass # otherwise silently errors in NSImage which isn't helpful for debugging
image = NSImage.alloc().initByReferencingFile_(filename)
image.setScalesWhenResized_(True)
image.setSize_((20, 20) if dimensions is None else dimensions)
if not template is None:
image.setTemplate_(template)
return image
示例6: __init__
# 需要导入模块: from AppKit import NSImage [as 别名]
# 或者: from AppKit.NSImage import alloc [as 别名]
def __init__(self, message='', title='', default_text='', ok=None, cancel=None, dimensions=(320, 160),
secure=False):
message = text_type(message)
message = message.replace('%', '%%')
title = text_type(title)
self._cancel = bool(cancel)
self._icon = None
_require_string_or_none(ok)
if not isinstance(cancel, string_types):
cancel = 'Cancel' if cancel else None
self._alert = NSAlert.alertWithMessageText_defaultButton_alternateButton_otherButton_informativeTextWithFormat_(
title, ok, cancel, None, message)
self._alert.setAlertStyle_(0) # informational style
if secure:
self._textfield = NSSecureTextField.alloc().initWithFrame_(NSMakeRect(0, 0, *dimensions))
else:
self._textfield = NSTextField.alloc().initWithFrame_(NSMakeRect(0, 0, *dimensions))
self._textfield.setSelectable_(True)
self._alert.setAccessoryView_(self._textfield)
self.default_text = default_text
示例7: _nsimage_from_file
# 需要导入模块: from AppKit import NSImage [as 别名]
# 或者: from AppKit.NSImage import alloc [as 别名]
def _nsimage_from_file(filename, dimensions=None):
"""
Takes a path to an image file and returns an NSImage object.
"""
try:
_log('attempting to open image at {}'.format(filename))
with open(filename):
pass
except IOError: # literal file path didn't work -- try to locate image based on main script path
try:
from __main__ import __file__ as main_script_path
main_script_path = os.path.dirname(main_script_path)
filename = os.path.join(main_script_path, filename)
except ImportError:
pass
_log('attempting (again) to open image at {}'.format(filename))
with open(filename): # file doesn't exist
pass # otherwise silently errors in NSImage which isn't helpful for debugging
image = NSImage.alloc().initByReferencingFile_(filename)
image.setScalesWhenResized_(True)
image.setSize_((20, 20) if dimensions is None else dimensions)
return image
# Decorators and helper function serving to register functions for dealing with interaction and events
#- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
示例8: instance
# 需要导入模块: from AppKit import NSImage [as 别名]
# 或者: from AppKit.NSImage import alloc [as 别名]
def instance(cls):
if cls._instance is None:
cls._instance = cls.alloc().init()
return cls._instance
示例9: start
# 需要导入模块: from AppKit import NSImage [as 别名]
# 或者: from AppKit.NSImage import alloc [as 别名]
def start(self):
if not self._status:
self._nsdate = NSDate.date()
self._nstimer = NSTimer.alloc().initWithFireDate_interval_target_selector_userInfo_repeats_(
self._nsdate, self._interval, self, 'callback:', None, True)
NSRunLoop.currentRunLoop().addTimer_forMode_(self._nstimer, NSDefaultRunLoopMode)
_TIMERS.add(self)
self._status = True
示例10: __setitem__
# 需要导入模块: from AppKit import NSImage [as 别名]
# 或者: from AppKit.NSImage import alloc [as 别名]
def __setitem__(self, key, value):
if self._menu is None:
self._menu = NSMenu.alloc().init()
self._menuitem.setSubmenu_(self._menu)
super(MenuItem, self).__setitem__(key, value)
示例11: start
# 需要导入模块: from AppKit import NSImage [as 别名]
# 或者: from AppKit.NSImage import alloc [as 别名]
def start(self):
"""Start the timer thread loop."""
if not self._status:
self._nsdate = NSDate.date()
self._nstimer = NSTimer.alloc().initWithFireDate_interval_target_selector_userInfo_repeats_(
self._nsdate, self._interval, self, 'callback:', None, True)
NSRunLoop.currentRunLoop().addTimer_forMode_(self._nstimer, NSDefaultRunLoopMode)
_TIMERS[self] = None
self._status = True
示例12: run
# 需要导入模块: from AppKit import NSImage [as 别名]
# 或者: from AppKit.NSImage import alloc [as 别名]
def run(self, **options):
"""Performs various setup tasks including creating the underlying Objective-C application, starting the timers,
and registering callback functions for click events. Then starts the application run loop.
.. versionchanged:: 0.2.1
Accepts `debug` keyword argument.
:param debug: determines if application should log information useful for debugging. Same effect as calling
:func:`rumps.debug_mode`.
"""
dont_change = object()
debug = options.get('debug', dont_change)
if debug is not dont_change:
debug_mode(debug)
nsapplication = NSApplication.sharedApplication()
nsapplication.activateIgnoringOtherApps_(True) # NSAlerts in front
self._nsapp = NSApp.alloc().init()
self._nsapp._app = self.__dict__ # allow for dynamic modification based on this App instance
nsapplication.setDelegate_(self._nsapp)
if _NOTIFICATIONS:
try:
notification_center = _default_user_notification_center()
except RuntimeError:
pass
else:
notification_center.setDelegate_(self._nsapp)
setattr(App, '*app_instance', self) # class level ref to running instance (for passing self to App subclasses)
t = b = None
for t in getattr(timer, '*timers', []):
t.start()
for b in getattr(clicked, '*buttons', []):
b(self) # we waited on registering clicks so we could pass self to access _menu attribute
del t, b
self._nsapp.initializeStatusBar()
AppHelper.runEventLoop()
示例13: install_notifier
# 需要导入模块: from AppKit import NSImage [as 别名]
# 或者: from AppKit.NSImage import alloc [as 别名]
def install_notifier():
"""Extract ``Notify.app`` from the workflow to data directory.
Changes the bundle ID of the installed app and gives it the
workflow's icon.
"""
archive = os.path.join(os.path.dirname(__file__), 'Notify.tgz')
destdir = wf().datadir
app_path = os.path.join(destdir, 'Notify.app')
n = notifier_program()
log().debug('installing Notify.app to %r ...', destdir)
# z = zipfile.ZipFile(archive, 'r')
# z.extractall(destdir)
tgz = tarfile.open(archive, 'r:gz')
tgz.extractall(destdir)
assert os.path.exists(n), \
'Notify.app could not be installed in %s' % destdir
# Replace applet icon
icon = notifier_icon_path()
workflow_icon = wf().workflowfile('icon.png')
if os.path.exists(icon):
os.unlink(icon)
png_to_icns(workflow_icon, icon)
# Set file icon
# PyObjC isn't available for 2.6, so this is 2.7 only. Actually,
# none of this code will "work" on pre-10.8 systems. Let it run
# until I figure out a better way of excluding this module
# from coverage in py2.6.
if sys.version_info >= (2, 7): # pragma: no cover
from AppKit import NSWorkspace, NSImage
ws = NSWorkspace.sharedWorkspace()
img = NSImage.alloc().init()
img.initWithContentsOfFile_(icon)
ws.setIcon_forFile_options_(img, app_path, 0)
# Change bundle ID of installed app
ip_path = os.path.join(app_path, 'Contents/Info.plist')
bundle_id = '{0}.{1}'.format(wf().bundleid, uuid.uuid4().hex)
data = plistlib.readPlist(ip_path)
log().debug('changing bundle ID to %r', bundle_id)
data['CFBundleIdentifier'] = bundle_id
plistlib.writePlist(data, ip_path)
示例14: install_notifier
# 需要导入模块: from AppKit import NSImage [as 别名]
# 或者: from AppKit.NSImage import alloc [as 别名]
def install_notifier():
"""Extract `Notify.app` from the workflow to data directory.
Changes the bundle ID of the installed app and gives it the
workflow's icon.
"""
archive = os.path.join(os.path.dirname(__file__), 'Notify.tgz')
destdir = wf().datadir
app_path = os.path.join(destdir, 'Notify.app')
n = notifier_program()
log().debug("Installing Notify.app to %r ...", destdir)
# z = zipfile.ZipFile(archive, 'r')
# z.extractall(destdir)
tgz = tarfile.open(archive, 'r:gz')
tgz.extractall(destdir)
assert os.path.exists(n), (
"Notify.app could not be installed in {0!r}.".format(destdir))
# Replace applet icon
icon = notifier_icon_path()
workflow_icon = wf().workflowfile('icon.png')
if os.path.exists(icon):
os.unlink(icon)
png_to_icns(workflow_icon, icon)
# Set file icon
# PyObjC isn't available for 2.6, so this is 2.7 only. Actually,
# none of this code will "work" on pre-10.8 systems. Let it run
# until I figure out a better way of excluding this module
# from coverage in py2.6.
if sys.version_info >= (2, 7): # pragma: no cover
from AppKit import NSWorkspace, NSImage
ws = NSWorkspace.sharedWorkspace()
img = NSImage.alloc().init()
img.initWithContentsOfFile_(icon)
ws.setIcon_forFile_options_(img, app_path, 0)
# Change bundle ID of installed app
ip_path = os.path.join(app_path, 'Contents/Info.plist')
bundle_id = '{0}.{1}'.format(wf().bundleid, uuid.uuid4().hex)
data = plistlib.readPlist(ip_path)
log().debug('Changing bundle ID to {0!r}'.format(bundle_id))
data['CFBundleIdentifier'] = bundle_id
plistlib.writePlist(data, ip_path)