أي إطار واجهة المستخدم الرسومية يجب أن تتعلم عندما تعرف البرمجة النصية و HCI

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

سؤال

لدي بعض المعرفة حول تفاعل الكمبيوتر البشري وبعض البرامج النصية الأساسية لبرمجة المعرفة (Python) التي تعمل من البداية إلى النهاية وأتمتة بعض المهام التي أريد القيام بها أو الحسابات. في الماضي ، قمت ببناء واجهات في HTML مع PHP وراءه.

أرغب في أن تتطور البرامج النصية Python الخاصة بي من سطر الأوامر وإنشاء بعض التطبيقات باستخدام GUIs من شأنها أن تسمح للمستخدم بسحب الملفات ودفع الأزرار لبدء العمليات والتحقق من التقدم بيانياً.

نظرًا لأنني أكتب البرامج النصية الخاصة بي في Python ، نظرت إلى بعض الخيارات (Tkinter ، Wxpython ، Pyqt) ، لكن لا يمكنني اتخاذ قرار بينهما لاستثمار وقتي في تعلم واحد وليس الآخر. معاييتي:

  • لديه مقدمة لمبرمجي واجهة المستخدم الرسومية (ما هي الاختلافات من البرنامج النصي ، أمثلة لبعض الواجهات البسيطة)
  • إطار من شأنه أن يسمح لي بتشغيل برامجي على المنصات التي أستخدمها معظم (Windows) ولكن يمكن أن تعمل أيضًا على Mac وربما Linux ، دون تعديل كبير.
  • منحنى التعلم الضحل للغاية (يسهل إنشاء واجهات أولية) ولكن المرونة لاحقًا لتخصيص الواجهة بما يتجاوز ما يسمح به نظام التشغيل النموذجي (ألوان مختلفة وحجم وأشكال الأزرار ، على سبيل المثال)
  • إذا لم يكن الأمر نفسه ، على غرار كيفية برمجة واجهة المستخدم الرسومية للهواتف الذكية Android و/أو Nokia. أخطط لكتابة بعض البرامج لهذه المنصات في المستقبل القريب ، لذا أود أن أستقل بعض الدروس هنا على تلك المنصات ، إن أمكن.

لقد وجدت هذا السؤال السابق لكن أيا من الإجابات مرضية.

هل يتناسب أي من الأطر هذه المتطلبات بشكل أفضل من الآخرين أم أنها متشابهة بشكل أساسي وسأكون سعيدًا بأي منها؟

ملاحظة: إذا كنت تعتقد أنني يجب أن أفكر في لغة أخرى بدلاً من Python لتحقيق ذلك ، أي واحد؟ أنا حقًا أحب بناء جملة Python Whitespace ونمت معتادًا عليه ، لذا أفضّل التمسك به.

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

المحلول

pyqt و/أو المشابهة التي ترعاها نوكيا البياض (مع ترخيص "أكثر استرخاء" ، تقدم LGPL بدلاً من GPL ، ونفس مجموعة الأدوات الأساسية ، QT) ميزة التشابه مع مجموعة أدوات واجهة المستخدم الرسومية للهواتف الذكية في Nokia (النقطة الرابعة) - اشترت Nokia Trolltech ، صانعي QT ، بالضبط ، بالضبط لأن QT كانت مجموعة أدوات واجهة المستخدم الرسومية الأساسية لعروضها المحمولة.

جميع مجموعات الأدوات التي تذكرها تلبي الشروط التي تشكلها حول أنظمة التشغيل (Windows ، Mac ، Linux) ، النقطة الثانية.

تعتمد أول نقاط الخاصة بك والبعض في جزء كبير من مواد التعلم التي لديك لكل مجموعة من مجموعات الأدوات. لأذواقي ، يبدو ذلك البرنامج التعليمي Wxpython (الشكل الجديد في شكل الويكي هو ما أشير إليه وأوصي به) جيد حقًا ، و pyqtليس سيئا على الإطلاق ؛ مستندات بيسايد لا تتضمن تعليميًا جيدًا (أعرفه) ، أعتقد أن نية Pyside هي أن تتعلم أولاً pyqt (مع المواد المتاحة المعقولة) ، ثم قم بتطبيق هذه بعض الاختلافات أن تكون برمجة في بيسايد بدلاً من pyqt ؛-). إن دروس Tkinter التي يمكنني العثور عليها إما قديمة جدًا أو تركز على طبيعة مجموعة الأدوات الأساسية المتعددة ، والتي أعتقد أنها تجعلها أقل شأنا.

إذا كنت تستطيع تحمل كتاب ، pyqt لديه واحد جيد (ينطبق أيضًا على البياض ، على النحو الوارد أعلاه) - هذه ممتاز ومجاني للأسف قديم جدًا ، لذلك لا أعتقد أنه يساعد. كتاب Wxpython الخاص هو أيضا جيد جدا تينتر, ، مرة أخرى ، مؤرخة جدا.

أنا شخصياً أوصي Pyqt / Pyside: الطاقة الإجمالية A+، سهولة البدء (مع البرنامج التعليمي والكتاب أعلاه) A- ، تشابه برمجي Nokia-Phone A. بالنسبة إلى Wxpython ، أود أن أقول القوة A ، Ease A ، Nokia-similarity B. تعتبر البرامج التعليمية والكتاب المؤرخة من Tkinter سلبيات مهمة.

أنت تذكر أيضًا Android ، لكنني لا أرى كيف يمكن أن يكون أي شيء مشابهًا لبرمجة Android و Nokia Phone-Gui في نفس الوقت. ربما لست على دراية بدرجة كافية مع برمجة Android GUI ، لكن يبدو لي أنه يختلف عن كل مجموعة من مجموعات الأدوات التي ذكرتها.

نصائح أخرى

pygtk fufills على الأقل النقاط الثلاث الأولى. لست متأكدًا من الرابع. يحتوي على برنامج تعليمي جميل هنا: http://www.pygtk.org/pygtk2tutorial/index.html

أعتقد أنك تبحث عن glade.

يقول الموقع:

Glade هي أداة RAD لتمكين تطوير واجهات المستخدم السريعة والسهلة لمجموعة أدوات GTK+ وبيئة سطح المكتب جنوم.

يتم حفظ واجهات المستخدم المصممة في Glade كـ XML ، وباستخدام كائن GTKBuilder GTK+ يمكن تحميلها بواسطة التطبيقات ديناميكيًا حسب الحاجة.

باستخدام GTKBuilder ، يمكن استخدام ملفات Glade XML في العديد من لغات البرمجة بما في ذلك C و C ++ و C#و Vala و Java و Perl و Python وغيرها.

أنا جميلة مبرمج noob ومع ذلك ، لكنني أواجه بعض المشكلات لبدء الأمور ج و glade. لذلك أعتقد أنك سوف تعمل بسلاسة هنا مع ثعبانك. إلق نظرة.

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