מבוא
ב- GNU / Linux פיתוח יישומים עם Python 3, Glade ו- GTK + 3 קל מאוד, החבילות מגיעות כברירת מחדל ברוב ההפצות.
דרך גלייד אנו יכולים ליצור ממשקי משתמש במהירות ובקלות ואז להשתמש בהם יחד עם Python. כדי להשיג זאת אתה משתמש PyGObject בזכות מערכת ההסתכלות המופנית שמציעה GNOME, מה שמקל על פיתוח יישומים מהיר (RAD); אפשר גם להשתמש בממשקים שלנו שנוצרו עם Glade משפות תכנות אחרות.
הבעיה מתרחשת כאשר אנו רוצים להשתמש ביישומים שלנו ב- Microsoft Windows, שכן עד לאחרונה החבילות למערכת זו לא היו קיימות באופן רשמי.
עם הדרכה זו הכוונה היא שהיישומים שנעשו ב- GNU / Linux באמצעות Python 3 ו- GTK + 3 יפעלו ללא בעיות ב- Windows.
דרישות
- פייתון 3.3
- Gtk + 3
- Glade 3.14 ומעלה (מעצב GUI)
- pygobject
התקנה ב- Windows
זה יתחיל ביצירת תיקייה בשם תוֹכנָה או עוד אחת מהעדפותיך ונשמור בה את כל החבילות שהורדו.
הורד חבילות התקנה
הורד את Python 3.3
ניתן להוריד אותו מדף הפייתון הרשמי python.org
בלחיצה על הקישור (Windows Installer) מתקין הפייתון יוריד.
הורד את Glade
אתר הורדה: glade.gnome.org
גרסאות Python ו- Glade הן 32 סיביות, אך פועלות ללא בעיות במערכות 64 סיביות
הורד את PyGObject
אתר הורדה: https://wiki.gnome.org/PyGObject
עלינו להוריד את הגרסה ל- GTK + 3
התקנת החבילות
ובכן עד לנקודה זו כבר יש לנו את כל החבילות שהורדו בתיקיה תוֹכנָה וככל שהורדנו כל חבילה נתחיל קודם בהתקנת Python.
התקנת פייתון
ההתקנה מאוד פשוטה, האשף ידריך אותנו בתהליך; אנו משאירים את כל האפשרויות המסומנות כברירת מחדל.
כפי שנראה בתמונה, פייתון מתקין בתיקיה C: \ Python33 \ כברירת מחדל, אנו משאירים אותו כמו שהוא וממשיכים בהתקנה.
בשלב זה של ההתקנה אנו בוחרים באפשרות הוסף את python.exe לנתיב, במטרה שכאשר אנו משיקים מתורגמן של Python הוא מבוצע ללא צורך להוסיף אותו לנתיב המערכת באופן ידני.
לאחר מכן נסיים את ההתקנה ופייתון הותקן במערכת שלנו.
התקנת גלייד
התקנת Glade אינה מהווה סיבוך משמעותי, אנו מריצים את תוכנית ההתקנה ועוקבים אחר שלבי האשף.
התקנת PyGObject
הורדנו את החבילה pygi-aio-3.4.2rev11.7z, חבילה זו כוללת את PyGObject עבור ספריות Python 3.3 ו- GTK + 3 עבור Windows, שנדחס עם 7-zip, אנו פותחים אותו ויהיה לנו תיקיה עם התוכן הבא:
עכשיו אנו מעתיקים את התיקיה gtk a C: \ Python33 \ Lib \ חבילות אתר שם מותקנות חבילות הצד השלישי עבור Python.
אנחנו חוזרים לתיקייה שלנו pygi-aio-3.4.2rev11 ואנחנו פותחים את התיקיה Py33 לגרסת הפיתון שהיא 3.3
אנחנו בוחרים כל התוכן מהתיקיה Py33 ואנחנו מעתיקים אותו בחזרה לתיקיה C: \ Python33 \ Lib \ חבילות אתר, נתבקש לערבב ולכתוב, אנו עונים בחיוב. תוכן התיקיה חבילות אתר זה יהיה כפי שמוצג בתמונה הבאה:
בודקים את ההתקנה הנכונה של PyGobject ו- GTK + 3
כדי לוודא שההתקנה שלנו הייתה נכונה, אנו פותחים את ה- Python IDLE ומייבאים את ספריות GTK + 3 ואם אין לנו שום הודעת שגיאה הכל נעשה כהלכה.
from gi.repository import Gtk
ולמה GTK? האם לא עדיף להתפתח ב- QT? מלבד היותו מרובה צורות ורבים אומרים שזה העתיד
ובכן, שתי הספריות הגרפיות הנהדרות בשולחן העבודה של GNU / Linux הן GTK ו- QT, כל אחת מהן בוחרת בזאת שהן מעדיפות. אין שום סיבה להילחם.
ההבדל בין GTK ל- QT הוא שהאחרון הוא מסגרת, אכן טובה מאוד, אך בהיותה מסגרת היא צורכת מעט יותר משאבים.
לדוגמא Mozilla Firefox, Google Chrome, LibreOffice וכדומה ארוכה מיוצרים עם GTK; זה לא אומר שהוא טוב יותר מ- QT, כל אחד צריך לבחור את זה שמתאים להעדפותיו ולצרכים שלו, איננו רוצים לגרום לדיון בנושא.
גוגל כרום מגרסה 33, השאירו את gtk.
ומדוע ההסבר לחלונות ולא לינוקס
האם בגלל שבלינוקס הכל כבר ארוז ובמאגרים הרשמיים של כל הפצה? ב Fedora, למשל, כבר מותקן ברשותי Python 3, Gtk + 3 ו- PyGobject כברירת מחדל. אם אני רוצה Glade, זה פשוט "yum install glade". קל נכון? 🙂
כי כמו שאומר גרמן, עבור הפצות GNU / Linux הם כבר ארוזים וקל מאוד להתקין אותם; לדוגמה, התקנת קרח בדביאן היא פשוטה מאוד:
כושר להתקין
אם אני רוצה להשתמש בפייתון 2.7 האם השלבים יהיו זהים?
ברור שהתקנת Python 2.7 של 32 סיביות (גם אם אתה משתמש במערכת ההפעלה של 64 סיביות) ובמקום תיקיית py33, ה- 2.7 יעבור. האם זה יצליח?
תודה.
ובכן כן, אם יש לכם בעיה, השאירו לי תגובה.
מזל.
תודה, כבר ניסיתי ובינתיים "שלום עולם" עובד בשבילי.
אני רואה אם אוכל לקבל הדרכה טובה של 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)
זה נותן לי את השגיאה הבאה:
Traceback (השיחה האחרונה אחרונה):
קובץ "C: \ Users \ User \ Desktop \ test.py", שורה 24, ב
win = IconViewWindow ()
הקובץ "C: \ Users \ User \ Desktop \ test.py", שורה 19, ב __init__
pixbuf = Gtk.IconTheme.get_default (). load_icon (סמל, 64, 0)
הקובץ "C: \ Python27 \ lib \ site-packages \ gi \ types.py", שורה 47, בפונקציה
להחזיר info.invoke (* טענות, ** קווארגס)
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) או בכל מקרה שתוכל לקמפל אותה בעצמך.
ברכות והמשיכו הלאה.
באובונטו כל דוגמאות ההדרכה עובדות מושלמות עבורי. ב- Windows זה עדיין לא עובד. אצטרך לחכות. עוד אחד שלא הולך הוא הדוגמה של הספינר, שלא עושה את האנימציה. ברכות ותודה.
עקבתי אחר מדריך ההתקנה והתקנתי הכל צעד אחר צעד.
וביצוע הקוד הבא:
מ- Gtk יבוא רפוזיורי
בכיתה Fiestra מנהל:
def __init __ (עצמי):
filename = "/ data / dam / Python exemplars / Saudoform"
קונסטרוקטור = Gtk.builder ()
constructor.add_from_file (שם קובץ)
מילון # שבו אנו מקשרים בין סינאיי לאירועים
sinais = {
«ClickedAccept»: self.clic_boton,
"ActivateTextCadro": self.clic_boton,
"DestroyFiestra": Gtk.main_quit
}
constructor.connect_signals (sinais)
# אנו מקבלים התייחסות למתאר ה- XML כדי להיות מסוגלים לגשת אליו
self.label = self.widgets_widget ("תווית")
self.cadroTexto = self.widgets_widget ("CadroTexto")
לחצן def_click (עצמי, ווידג'ט):
טקסט = self.cadroTexto.get_text ()
self.label.set_text ("גל% s"% טקסט)
אם __name__ == »__ main__»:
מנהל פיסטר ()
Gtk.Main ()
אני מקבל את התשובה הזו:
Traceback (השיחה האחרונה אחרונה):
קובץ «C: / משתמשים / admin / Google Drive / test / SaudoForm.py», שורה 3, ב
מ- Gtk יבוא רפוזיורי
קובץ "C: \ Python33 \ lib \ site-packages \ gi \ __ init__.py", שורה 27, ב
מ ._gi ייבוא _API, מאגר
ImportError: טעינת ה- DLL נכשלה:% 1 אינו יישום Win32 חוקי.
מישהו יודע מה הבעיה, או מה יכול להיות הפיתרון האפשרי שלה.
תודה רבה.
מעניין. ביצעתי את ההתקנה בלינוקס, אבל ההסבר לחלונות הוא בסדר, עכשיו יש לי את שניהם. 😉
זה מצחיק בפעם הראשונה עם חלונות 7 של 32 סיביות.
ב- Windows 7 64 סיביות, אני לא יכול לגרום לו לרוץ, אני תמיד מקבל את זה;
>>> מאת gi.repository יבוא Gtk
Traceback (השיחה האחרונה אחרונה):
קובץ «», שורה 1, ב
קובץ "C: \ Python33 \ lib \ site-packages \ gi \ __ init__.py", שורה 27, ב
מ ._gi ייבוא _API
ImportError: טעינת ה- DLL נכשלה: התהליך שצוין לא נמצא.
ניסיתי את זה בכל מקרה אפשרי, כבר איבדתי את האשליה להתקין אותו.
תראה שבספריות 64 סיביות עדיין יש כמה באגים, אנא התקן את גרסת ה 32 סיביות של פיתון וגם של GTK + כדי שלא תהיה לך בעיה.
לעולם אל תאבד את האשליה 🙂
היי אני עובד עם פיתון + gtk3, זה טוב מאוד עכשיו אני בבעיה קטנה אני רוצה לשנות את הסמל לטופס (חלון) במקרה הזה ואני יכול לשנות אותו, תודה מראש, ברכות
פרסם סרטונים פשוטים כיצד לתכנת ב- gtk + 3 וברכות הדרכות פשוטות
הדרכה מעולה. תודה רבה על המאמץ שלך. בברכה.
עשיתי את כל השלבים וכשניגשתי לסמוך על ההתקנה קיבלתי את השגיאה הזו.
Traceback (השיחה האחרונה אחרונה):
קובץ «», שורה 1, ב
מ- Gtk יבוא רפוזיורי
ImportError: אין מודול בשם 'gi'