كيفية تعيين أيقونة شريط القائمة على نظام التشغيل Mac OSX باستخدام WX

StackOverflow https://stackoverflow.com/questions/145894

  •  02-07-2019
  •  | 
  •  

سؤال

لم أتمكن من العثور على أي مؤشرات حول كيفية إنشاء رمز شريط القوائم على OSX باستخدام wx.اعتقدت في البداية أن فئة wxTaskBarIcon ستفي بالغرض، لكنها في الواقع تنشئ رمزًا على Dock.في نظام التشغيل Windows، يقوم wxTaskBarIcon بإنشاء رمز Systray والقائمة المرتبطة به، وأعتقد أنه في نظام التشغيل Mac OSX سيؤدي إلى إنشاء رمز شريط القوائم، لا أعتقد ذلك.

هل كانت مفيدة؟

المحلول

عليك أن تحدد wxTaskBarIconType ل STATUSITEM, ، لا DOCK.واجهات برمجة التطبيقات الخاصة بالكاكاو لهذا الغرض هي NSStatusBar و NSStatusItem; إليك الكود الموجود في wxWidgets الذي يتصل بهم.

نصائح أخرى

هذا المشنور يوضح Robin Dunn، مبتكر wxPython، أن wxPython لا يدعم أيقونات شريط القوائم على نظام Mac حتى الآن.إنهم يدعمون Dock فقط.

اعتبارًا من wxPython 2.9.2.0 wx.TaskBarIcon سيتم إنشاء رمز شريط القوائم الآن بدلاً من ذلك على OSX، طالما أنك تتصل SetIcon.

يوجد مثال على wiki.wxpython.org يضع رمزًا في قسم "قوائم الحالة" (الجانب الأيمن) من شريط قوائم macOS (تجاهل عنوان الصفحة):https://wiki.wxpython.org/Custom%20Mac%20OsX%20Dock%20Bar%20Icon

إنه يعمل بالنسبة لي مع نظام التشغيل macOS High Sierra (10.13.3) الذي يعمل بنظام python 2.7.14 (مثبت باستخدام miniconda) مع wxpython 3.0.0.0 osx-cocoa (كلاسيكي).

وبالمثل، فهو يعمل مع python 3.6.4 وwxpython 4.0.1 osx-cocoa (phoenix)؛تغييرات طفيفة في الكود مطلوبة:

  • يجب عليك استيراد wx.adv
  • يصبح wx.TaskBarIcon wx.adv.TaskBarIcon
  • يصبح wx.IconFromBitmap wx.Icon

يؤدي هذا إلى إنشاء رمز الحالة/الإشعار/نوع شريط المهام على الأنظمة الأساسية الأخرى أيضًا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top