مقدمة
في GNU / Linux تطوير التطبيقات باستخدام Python 3 و Glade و GTK + 3 سهل للغاية ، تأتي الحزم افتراضيًا في معظم التوزيعات.
من خلال فرجة في الغابة يمكننا إنشاء واجهات مستخدم بسرعة وسهولة ثم استخدامها مع Python. لتحقيق هذا تستخدمه PYGObject بفضل نظام الاستبطان الذي تقدمه جنوم ، والذي يجعل تطوير التطبيقات السريعة (RAD) أسهل بكثير ؛ من الممكن أيضًا استخدام واجهاتنا التي تم إنشاؤها باستخدام Glade من لغات البرمجة الأخرى.
تحدث المشكلة عندما نريد استخدام تطبيقاتنا في Microsoft Windows ، لأنه حتى وقت قريب لم تكن حزم هذا النظام موجودة رسميًا.
مع هذا البرنامج التعليمي ، من المفترض أن تعمل التطبيقات التي تم إنشاؤها في GNU / Linux باستخدام Python 3 و GTK + 3 دون مشاكل في Windows.
المتطلبات
- بيثون 3.3
- Gtk + 3
- Glade 3.14 أو أعلى (مصمم واجهة المستخدم الرسومية)
- pygobject
التثبيت على Windows
سيبدأ بإنشاء مجلد يسمى نظام البرمجيات أو أي خيار آخر من تفضيلاتك وسنوفر فيه جميع الحزم التي تم تنزيلها.
تنزيل حزم التثبيت
تنزيل Python 3.3
يمكن تنزيله من صفحة Python الرسمية www.python.org
بالضغط على الرابط (برنامج Windows Installer) سيتم تنزيل مثبت Python.
تحميل Glade
موقع التنزيل: Glade.gnome.org
كل من إصدارات Python و Glade هي 32 بت ، لكنها تعمل بشكل لا تشوبه شائبة على أنظمة 64 بت
تنزيل PyGObject
موقع التنزيل: https://wiki.gnome.org/PyGObject
يجب علينا تنزيل الإصدار لـ GTK + 3
تركيب الحزم
حسنًا حتى هذه النقطة ، لدينا بالفعل جميع الحزم التي تم تنزيلها في المجلد نظام البرمجيات وبما أننا قمنا بتنزيل كل حزمة ، سنبدأ أولاً بتثبيت Python.
تثبيت بايثون
التثبيت بسيط للغاية ، وسوف يرشدنا المعالج خلال العملية ؛ نترك جميع الخيارات محددة بشكل افتراضي.
كما هو موضح في الصورة ، يتم تثبيت Python في المجلد ج: \ Python33 \ بشكل افتراضي ، نتركه كما هو ونتابع التثبيت.
في هذه المرحلة من التثبيت نختار الخيار أضف python.exe إلى المسار، لغرض أنه عندما نقوم بتشغيل مترجم Python ، يتم تنفيذه دون الحاجة إلى إضافته إلى مسار النظام يدويًا.
ثم ننتهي من التثبيت وسيتم تثبيت Python على نظامنا.
تركيب جليد
لا يمثل تثبيت Glade تعقيدًا كبيرًا ، فنحن نقوم بتشغيل برنامج التثبيت ونتبع خطوات المعالج.
تثبيت PyGObject
لقد قمنا بتنزيل الحزمة pygi-aio-3.4.2rev11.7z، تتضمن هذه الحزمة مكتبات PyGObject لـ Python 3.3 و GTK + 3 لنظام التشغيل Windows ، والتي يتم ضغطها باستخدام 7 زيب، نقوم بفك ضغطه وسيكون لدينا مجلد بالمحتوى التالي:
الآن نقوم بنسخ المجلد جتك a C: \ Python33 \ Lib \ site -packs حيث يتم تثبيت حزم الطرف الثالث الخاصة ببايثون.
نعود إلى مجلدنا بيجي- aio-3.4.2 ونفتح المجلد py33 لإصدار Python وهو 3.3
نختار كل المحتوى ملف py33 ونقوم بنسخه مرة أخرى في المجلد C: \ Python33 \ Lib \ site -packsسيُطلب منا الاختلاط والكتابة ، نجيب بالإيجاب. محتويات المجلد حزم الموقع سيكون كما هو موضح في الصورة التالية:
التحقق من التثبيت الصحيح لـ PyGobject و GTK + 3
للتحقق من أن التثبيت كان صحيحًا ، نفتح Python IDLE ونستورد مكتبات GTK + 3 وإذا لم يكن لدينا أي رسائل خطأ ، فسيتم كل شيء بشكل صحيح.
from gi.repository import Gtk
ولماذا GTK؟ ألن يكون من الأفضل التطوير في كيو تي؟ إلى جانب كونه متعدد المنصات ، ويقول الكثير إنه المستقبل
حسنًا ، مكتبتا الرسوم الكبيرتان على سطح مكتب GNU / Linux هما GTK و QT ، كل واحدة تختار المكتب الذي تفضله. لا يوجد سبب للقتال.
الفرق بين GTK و QT هو أن هذا الأخير هو إطار عمل ، جيد جدًا بالفعل ، ولكن كونه إطار عمل فإنه يستهلك المزيد من الموارد.
على سبيل المثال Mozilla Firefox و Google Chrome و LibreOffice وما إلى ذلك طويلة مصنوعة من GTK ؛ هذا لا يعني أنه أفضل من QT ، يجب على كل شخص اختيار ما يناسب تفضيلاته واحتياجاته ، ولا نريد إجراء مناقشة حوله.
جوجل كروم من الإصدار 33 ، اترك gtk.
ولماذا الشرح للويندوز وليس لينكس
هل يرجع ذلك إلى أن كل شيء في Linux معبأ بالفعل وفي المستودعات الرسمية لكل توزيعة؟ في Fedora ، على سبيل المثال ، لدي بالفعل Python 3 و Gtk + 3 و PyGobject مثبتة بشكل افتراضي. إذا كنت تريد Glade ، فهي مجرد "yum install glade". الحق سهلة؟ 🙂
لأنه كما يقول جيرمان ، بالنسبة لتوزيعات جنو / لينكس ، فهي مُعبأة بالفعل ومن السهل جدًا تثبيتها ؛ على سبيل المثال ، فإن تثبيت glade على دبيان بسيط للغاية:
الكفاءة تثبيت glade
إذا كنت أرغب في استخدام Python 2.7 ، فهل ستكون الخطوات كما هي؟
من الواضح أن تثبيت Python 2.7 32 بت (حتى إذا كنت تستخدم نظام تشغيل 64 بت) وبدلاً من مجلد py33 ، فإن الإصدار 2.7 سيذهب. هل ستنجح؟
غراسياس.
حسنًا ، نعم ، إذا كانت لديك مشكلة ، فاترك لي تعليقًا.
الحظ.
شكرًا ، لقد جربتها والآن تعمل "Hello world" بالنسبة لي.
أرى ما إذا كان بإمكاني الحصول على أي برنامج تعليمي pyGTK3 جيد أو ما يسمى وأي مشاكل ، تحذير.
البرنامج التعليمي:
https://python-gtk-3-tutorial.readthedocs.org/en/latest/index.html
كارامبا! شكرا جزيلا!
اختبار GTK3 مع Python 2.7 على Windows واتباع البرنامج التعليمي. تعمل جميع البرامج حتى الآن بالنسبة لي ، باستثناء البرنامج الموجود في الفصل 14 (IconView -> https://python-gtk-3-tutorial.readthedocs.org/en/latest/iconview.html)
يعطيني الخطأ التالي:
تتبع (آخر مكالمة أخيرة):
ملف "C: \ Users \ User \ Desktop \ test.py" ، السطر 24 ، في
win = IconViewWindow ()
ملف "C: \ Users \ User \ Desktop \ test.py" ، السطر 19 ، في __init__
pixbuf = Gtk.IconTheme.get_default (). load_icon (icon، 64، 0)
ملف "C: \ Python27 \ lib \ site -pack \ gi \ types.py" ، السطر 47 ، في الوظيفة
إرجاع info.invoke (* args ، ** kwargs)
GError: رمز "gtk-cut" غير موجود في السمة
لقد جربته مع أيقونات أخرى ولم يعمل أيضًا. هل أحتاج إلى تثبيت موضوع؟ شكرا منذ الآن.
ولا المثال 19. السحب والإفلات.
الوظيفة التي تستدعي في كلتا الحالتين وهذا هو المكان الذي أحصل فيه على خطأ هو:
pixbuf = Gtk.IconTheme.get_default (). load_icon (icon_name، 16، 0)
لا يمكنني العثور على الرمز ، ولكن في أمثلة أخرى يمكنك استخدامها. إنه يعطيني خطأ فقط عندما أرغب في استخدامه مع هذه الوظيفة (هنا يمكن استبدال icon_name بقيمة مثل Gtk.STOCK_CUT أو أي شيء ويعطي نفس الخطأ تمامًا).
أستمر في الحديث مع نفسي. ما يناسبني في الأمثلة الأخرى هو تحميل الصور على الأزرار. لا يمكنني تحميل الرموز بالوظيفة التي تأتي في المثالين اللذين قدمتهما سابقًا.
أعتقد أن الخطأ واضح:
GError: رمز "gtk-cut" غير موجود في السمة
يبدو أن هذا الرمز غير متوفر ، استخدم رمزًا آخر. ربما لم يقم مشرف الحزمة بتضمين أيقونات السمات أو لا يمكن العثور عليها في المسار الافتراضي ، استخدم توزيعة GNU / Linux وتأكد من استمرار ظهور الخطأ نفسه.
فيما يتعلق بالسؤال 19 ، يبدو أنه مرتبط بإصدار PyGobject ، في الجزء العلوي من الوثائق التي تقول:
ملاحظات
إصدارات PyGObject = 3.0.3 مطلوبة لكي تعمل الأمثلة التالية.
الإصدار الذي لديك هو 3.0 ، جرب توزيعة GNU / Linux ؛ ثم يتعين علينا انتظارهم لتحديث الحزمة (لنظام التشغيل Windows) أو في أي حال يمكنك تجميعها بنفسك.
تحياتي والمضي قدما.
في Ubuntu ، تعمل جميع الأمثلة التعليمية بشكل مثالي بالنسبة لي. على نظام Windows ، ما زال لا يعمل. سأضطر إلى الانتظار. آخر لا يمشي هو مثال Spinner ، الذي لا يفعل الرسوم المتحركة. تحياتي وشكر.
لقد اتبعت البرنامج التعليمي للتثبيت وقمت بتثبيت كل شيء خطوة بخطوة.
وتنفيذ الكود التالي:
من gi.repository import Gtk
فئة المهرجان
def __init __ (ذاتي):
filename = "/ data / dam / Python exemplars / Saudoform"
المُنشئ = Gtk.builder ()
منشئ .add_from_file (اسم الملف)
# القاموس حيث نربط سينيس بالأحداث
سينيس = {
«ClickedAccept»: self.clic_boton،
"ActivateTextCadro": self.clic_boton،
"DestroyFiestra": Gtk.main_quit
}
constructor.connect_signals (سينيس)
# نحصل على مرجع إلى واصف XML لنتمكن من الوصول إليه
self.label = self.widgets_widget ("التسمية")
self.cadroTexto = self.widgets_widget ("CadroTexto")
def button_click (ذاتي ، أداة):
text = self.cadroTexto.get_text ()
self.label.set_text (نص "wave٪ s"٪)
إذا كان __name__ == »__ الرئيسي__»:
FiestraPrincipal ()
Gtk.Main ()
أحصل على هذه الإجابة:
تتبع (آخر مكالمة أخيرة):
ملف «C: / Users / admin / Google Drive / test / SaudoForm.py» ، السطر 3 ، بتنسيق
من gi.repository import Gtk
ملف "C: \ Python33 \ lib \ site -pack \ gi \ __ init__.py" ، السطر 27 ، في
من ._gi import _API، Repository
خطأ استيراد: فشل تحميل DLL:٪ 1 ليس تطبيق Win32 صالحًا.
شخص ما يعرف ما هي المشكلة ، أو ما قد يكون الحل المحتمل
شكرا جزيلا.
مثير للإعجاب. لقد انتهيت من التثبيت في نظام Linux ، لكن شرح نظام التشغيل windows جيد ، والآن لدي كلاهما. 😉
إنه أمر مضحك على Windows 7 32 بت لأول مرة.
في نظام التشغيل Windows 7 64 بت ، لا يمكنني تشغيله ، أحصل عليه دائمًا ؛
>>> من gi.repository import Gtk
تتبع (آخر مكالمة أخيرة):
ملف «» ، السطر 1 ، بتنسيق
ملف "C: \ Python33 \ lib \ site -pack \ gi \ __ init__.py" ، السطر 27 ، في
من ._gi استيراد _API
خطأ استيراد: فشل تحميل DLL: لم يتم العثور على العملية المحددة.
لقد جربته على أي حال ، لقد فقدت بالفعل وهم تثبيته.
سترى أن مكتبات 64 بت لا تزال بها بعض الأخطاء ، يرجى تثبيت الإصدار 32 بت من كل من Python و GTK + حتى لا تواجهك مشاكل.
يجب ألا تفقد الوهم أبدًا
مرحبًا ، أنا أعمل مع python + gtk3 ، إنه جيد جدًا الآن أنا في مشكلة صغيرة أريد تغيير الرمز إلى النموذج الخاص بي (النافذة) في هذه الحالة ويمكنني تغييره ، شكرًا مقدمًا ، تحياتي
نشر مقاطع فيديو بسيطة عن كيفية البرمجة في gtk + 3 وتحية للبرامج التعليمية البسيطة
تعليمي ممتاز. أشكركم جزيل الشكر على ما تبذلونه من جهد لك. مع تحياتي.
لقد قمت بكل الخطوات وعندما ذهبت للثقة في التثبيت ، حصلت على هذا الخطأ.
تتبع (آخر مكالمة أخيرة):
ملف «» ، السطر 1 ، بتنسيق
من gi.repository import Gtk
خطأ في الاستيراد: لا توجد وحدة باسم "gi"