Εισαγωγή
Στο GNU / Linux η ανάπτυξη εφαρμογών με Python 3, Glade και GTK + 3 είναι πολύ εύκολη, τα πακέτα έρχονται από προεπιλογή στις περισσότερες διανομές.
Μέσω Ξέφωτο μπορούμε να δημιουργήσουμε διεπαφές χρήστη γρήγορα και εύκολα και στη συνέχεια να τις χρησιμοποιήσουμε σε συνδυασμό με την Python. Για να το πετύχετε αυτό χρησιμοποιείτε PyGObject χάρη στο σύστημα ενδοσκόπησης που προσφέρει το GNOME, το οποίο διευκολύνει σημαντικά την ταχεία ανάπτυξη εφαρμογών (RAD). Είναι επίσης δυνατή η χρήση των διεπαφών μας που έχουν δημιουργηθεί με το Glade από άλλες γλώσσες προγραμματισμού.
Το πρόβλημα παρουσιάζεται όταν θέλουμε να χρησιμοποιήσουμε τις εφαρμογές μας στα Microsoft Windows, καθώς μέχρι πρόσφατα δεν υπήρχαν επίσημα πακέτα για αυτό το σύστημα.
Με αυτό το σεμινάριο, οι εφαρμογές που έχουν γίνει στο GNU / Linux χρησιμοποιώντας Python 3 και GTK + 3 εκτελούνται χωρίς προβλήματα στα Windows.
Απαιτήσεις
- Python 3.3
- Gtk + 3
- Glade 3.14 ή υψηλότερη (σχεδιαστής GUI)
- pygobject
Εγκατάσταση σε Windows
Θα ξεκινήσει με τη δημιουργία ενός φακέλου που ονομάζεται λογισμικό ή άλλη μια από τις προτιμήσεις σας και θα αποθηκεύσουμε σε αυτό όλα τα πακέτα που λαμβάνονται.
Λήψη πακέτων εγκατάστασης
Λήψη Python 3.3
Μπορείτε να το κατεβάσετε από την επίσημη σελίδα Python python.org
Κάνοντας κλικ στο σύνδεσμο (windows Installer) θα γίνει λήψη του προγράμματος εγκατάστασης Python.
Λήψη Glade
Λήψη ιστότοπου: glade.gnome.org
Και οι δύο εκδόσεις Python και Glade είναι 32-bit, αλλά λειτουργούν άψογα σε συστήματα 64-bit
Κατεβάστε το PyGObject
Λήψη ιστότοπου: https://wiki.gnome.org/PyGObject
Πρέπει να κατεβάσετε την έκδοση για το GTK + 3
Εγκατάσταση των πακέτων
Μέχρι τώρα έχουμε ήδη όλα τα ληφθέντα πακέτα στο φάκελο λογισμικό και καθώς έχουμε κατεβάσει κάθε πακέτο, θα ξεκινήσουμε πρώτα με την εγκατάσταση του Python.
Εγκατάσταση Python
Η εγκατάσταση είναι πολύ απλή, ο οδηγός θα μας καθοδηγήσει στη διαδικασία. Αφήνουμε όλες τις επιλογές που επισημαίνονται από προεπιλογή.
Όπως φαίνεται στην εικόνα, η Python εγκαθίσταται στο φάκελο C: \ Python33 \ Από προεπιλογή, το αφήνουμε ως έχει και συνεχίζουμε με την εγκατάσταση.
Σε αυτό το σημείο της εγκατάστασης επιλέγουμε την επιλογή Προσθήκη python.exe στο Path, με σκοπό να εκκινήσουμε έναν διερμηνέα Python χωρίς να χρειάζεται να το προσθέσουμε στη διαδρομή του συστήματος χειροκίνητα.
Στη συνέχεια ολοκληρώνουμε την εγκατάσταση και το Python θα έχει εγκατασταθεί στο σύστημά μας.
Εγκατάσταση Glade
Η εγκατάσταση του 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 για την έκδοση Python που είναι 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, όλοι πρέπει να επιλέξουν αυτό που ταιριάζει στις προτιμήσεις και τις ανάγκες τους, δεν θέλουμε να κάνουμε μια συζήτηση για αυτό.
Google chrome από την έκδοση 33, αφήστε το gtk.
και γιατί η εξήγηση για windows και όχι linux
Είναι επειδή στο Linux όλα είναι ήδη συσκευασμένα και στα επίσημα αποθετήρια κάθε διανομής; Στο Fedora, για παράδειγμα, έχω ήδη εγκαταστήσει τα Python 3, Gtk + 3 και PyGobject από προεπιλογή. Αν θέλω Glade, είναι απλώς "yum install glade". Εύκολο, σωστά; 🙂
Διότι, όπως λέει ο Germán, για διανομές GNU / Linux είναι ήδη συσκευασμένες και είναι πολύ εύκολο να τις εγκαταστήσετε. Για παράδειγμα, η εγκατάσταση του glade στο Debian είναι πολύ απλή:
ικανότητα εγκατάστασης ξέφωτο
Αν θέλω να χρησιμοποιήσω το Python 2.7 θα είναι τα ίδια βήματα;
Προφανώς, η εγκατάσταση του Python 2.7 32-bit (ακόμα κι αν χρησιμοποιείτε το λειτουργικό σύστημα 64-bit) και αντί του φακέλου 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)
Μου δίνει το ακόλουθο σφάλμα:
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-package \ 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, στην κορυφή της τεκμηρίωσης αναφέρει:
Note
Απαιτούνται εκδόσεις του PyGObject = 3.0.3 για να λειτουργούν τα ακόλουθα παραδείγματα.
Η έκδοση που έχετε είναι 3.0, δοκιμάστε μια διανομή GNU / Linux. και τότε πρέπει να περιμένουμε να ενημερώσουν το πακέτο (για Windows) ή σε κάθε περίπτωση μπορείτε να το μεταγλωττίσετε μόνοι σας.
Χαιρετίσματα και προχωρήστε.
Στο Ubuntu όλα τα παραδείγματα φροντιστηρίων λειτουργούν τέλεια για μένα. Στα Windows, εξακολουθεί να μην λειτουργεί. Θα πρέπει να περιμένω. Ένα άλλο που δεν περπατά είναι το παράδειγμα του Spinner, το οποίο δεν κάνει το animation. Χαιρετισμούς και ευχαριστίες.
Ακολούθησα το σεμινάριο εγκατάστασης και έχω εγκαταστήσει τα πάντα βήμα προς βήμα.
Και εκτελώντας τον ακόλουθο κώδικα:
από gi.repository import Gtk
τάξη Fiestra
def __init __ (αυτο):
όνομα αρχείου = "/ δεδομένα / φράγμα / παραδείγματα Python / Saudoform"
κατασκευαστής = Gtk.builder ()
constructor.add_from_file (όνομα αρχείου)
# dictionary όταν συνδέουμε το sinais με εκδηλώσεις
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 button_click (self, widget):
κείμενο = self.cadroTexto.get_text ()
self.label.set_text ("%% s"% κείμενο)
αν __name__ == »__ main__»:
FiestraPrincipal ()
Gtk. Κύρια ()
Παίρνω αυτήν την απάντηση:
Traceback (πιο πρόσφατη τελευταία κλήση):
Αρχείο «C: / Users / admin / Google Drive / test / SaudoForm.py», γραμμή 3, σε
από gi.repository import Gtk
Αρχείο "C: \ Python33 \ lib \ site-package \ gi \ __ init__.py", γραμμή 27, σε
από ._gi εισαγωγή _API, αποθετήριο
ImportError: Η φόρτωση DLL απέτυχε: Το% 1 δεν είναι έγκυρη εφαρμογή Win32.
Κάποιος ξέρει ποιο είναι το πρόβλημα ή ποια είναι η πιθανή λύση του.
Σας ευχαριστώ πολύ.
Ενδιαφέρων. Είχα κάνει την εγκατάσταση στο linux, αλλά η εξήγηση για τα παράθυρα είναι μια χαρά, τώρα το έχω και στα δύο. 😉
Είναι αστείο σε 7-bit windows 32 την πρώτη φορά.
Σε Windows 7 64-bit, δεν μπορώ να το κάνω να τρέχει, το παίρνω πάντα.
>>> από gi.repository εισαγωγή Gtk
Traceback (πιο πρόσφατη τελευταία κλήση):
Αρχείο «», γραμμή 1, σε
Αρχείο "C: \ Python33 \ lib \ site-package \ gi \ __ init__.py", γραμμή 27, σε
από ._gi εισαγωγή _API
ImportError: Αποτυχία φόρτωσης DLL: Η καθορισμένη διαδικασία δεν βρέθηκε.
Το έχω δοκιμάσει ούτως ή άλλως δυνατόν, έχω ήδη χάσει την ψευδαίσθηση να το εγκαταστήσω.
Θα δείτε ότι οι βιβλιοθήκες 64-bit εξακολουθούν να έχουν κάποια σφάλματα, εγκαταστήστε την έκδοση 32-bit τόσο του python όσο και του GTK +, ώστε να μην έχετε προβλήματα.
Δεν πρέπει ποτέ να χάσετε την ψευδαίσθηση 🙂
Γεια δουλεύω με το python + gtk3, είναι πολύ καλό τώρα που έχω ένα μικρό πρόβλημα, θέλω να αλλάξω το εικονίδιο στη φόρμα μου (παράθυρο) σε αυτήν την περίπτωση και μπορώ να το αλλάξω, ευχαριστώ εκ των προτέρων, Χαιρετισμούς
δημοσιεύστε απλά βίντεο σχετικά με τον τρόπο προγραμματισμού στο gtk + 3 και απλούς χαιρετισμούς σεμιναρίων
Εξαιρετικό σεμινάριο. Ευχαριστώ πολύ για την προσπάθειά σας. Χαιρετισμοί.
Έκανα όλα τα βήματα και όταν πήγα να εμπιστευτώ την εγκατάσταση πήρα αυτό το σφάλμα.
Traceback (πιο πρόσφατη τελευταία κλήση):
Αρχείο «», γραμμή 1, σε
από gi.repository import Gtk
ImportError: Καμία ενότητα με το όνομα «gi»