Συζήτηση
Γεια χαρά, Επισκέπτης
Όνομα χρήστη: Κωδικός: Να με θυμάσαι

ΘΕΜΑ: Project σε Python με GUI (pyGTK)

Project σε Python με GUI (pyGTK) 13 Χρόνια 3 Μήνες πριν #1038

  • Danny Pedrosa
  • Το Άβαταρ του/της Danny Pedrosa
  • Αποσυνδεμένος
  • py____
  • Δημοσιεύσεις: 12
'Εχω ένα project στην python για τη δημιουργία μιας εφαρμογής διαχείρισης προσωπικής βιβλιοθήκης μέσω της pyGTK.Γενικά ξέρω ότι με αυτή την εφαρμογή μπορούν να φτιαχτού παράθυρα και διάφορα γραφικά,αλλά δεν ξέρω ούτε τη σύνταξή της,όύτε εντολές που χρησιμοποιοούνται.Έχω ψάξει βέβαια στο ιντερνέτ για περισσότερες πληροφορίες άλλα όλα αυτά που αναφέρονται δεν είναι ειδικά για αυτά που θέλω και αρκετά δύσκολα στην κατανόηση,ειδικά αμα δεν έχει ασχοληθεί κάποιος πολύ καιρό με τον προγραμματισμό.Έτσι θα ήθελα αν μπορείτε και γνωρίζετε να μου πείτε κάποιες βασικές εντολές ,καθώς και τι κάνουν ή κάποια παραδείγματα χρήσης της gtk.Συγκεκριμένα αυτό που πρέπει να κάνω είναι να έχω αρχικά μια λίστα με κάποια βιβλία καιστη συνέχεια με επιλογή του κάθε βιβλίου να εμφανίζεται ο τίτλος,ο συγγραφέας,η εικόνα και όλα αυτά να γίνονται μέσω παραθύρων.
Τελευταία διόρθωση: 13 Χρόνια 3 Μήνες πριν από myle.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Απ: Project στην python 13 Χρόνια 3 Μήνες πριν #1041

  • pmav99
  • Το Άβαταρ του/της pmav99
  • Αποσυνδεμένος
  • Author
  • Δημοσιεύσεις: 684
  • Ληφθείσες Ευχαριστίες 111
Το project είναι για κάποια εργασία ή για χόμπυ?
Η GTK είναι προαπαιτούμενο ή προσωπική επιλογή?
Θα χρησιμοποιήσεις το glade?

Νομίζω ότι το πιο βασικό πράγμα στο GUI είναι να αποφασίσεις το τι ακριβως θα φτιάξεις. Εννοώ με πιο τρόπο θα είναι στημένο το interace, (που είναι τι κτλ). Αν δεν τα έχεις αποφασίσει αυτά θα χάνεις χρόνο σε μπρος πίσω*. Για αυτό σχεδίασε το στο χαρτί πρώτα...

Οι 3 βασικές βιβλιοθήκες είναι η pyGTK, wxPython, και pyQT. Και με τις 3 μπορείς πρακτικά να κάνεις τα πάντα. Ο τρόπος που υλοποιείται κάτι σε κάθε μία βιβλιοθήκη γενικά είναι διαφορετικός (αναφέρομαι στη σύνταξη). Μπορείς να κατεβάσεις το demo της wxPython για να πάρεις ιδέες για το τι μπορείς να κάνεις αλλά και για να δεις με τι κώδικα το υλοποιείς.

Για περισσότερες πληροφορίες πρέπει να γίνεις πιο συγκεκριμένος. Γενικά πάντως, ο καλύτερος τρόπος για να βελτιώνεσαι σε κάποιο τομέα, είναι να αναλαμβάνεις να κάνεις πράγματα που είναι μέσα στις δυνατότητες σου. Αν υπάρχει η δυνατότητα, ξεκίνα από κάτι απλό και ανεβαίνεις κλιμακωτά.

*Όπως και αν έχει να χρησιμοποιείς πάντα κάποιο version control system. Το mercurial είναι η καλύτερη επιλογή βάσει ευελιξίας - δυνατοτήτων.
Τελευταία διόρθωση: 13 Χρόνια 3 Μήνες πριν από pmav99.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Απ: Project στην python 13 Χρόνια 3 Μήνες πριν #1042

  • Danny Pedrosa
  • Το Άβαταρ του/της Danny Pedrosa
  • Αποσυνδεμένος
  • py____
  • Δημοσιεύσεις: 12
Το project είναι για εργασία και η pyGTK είναι απαραίτητητ.Το glade δεν ξέρω τι είναι.Το wxpython τι είναι και πως χρησιμοποιείται;
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Απ: Project στην python 13 Χρόνια 3 Μήνες πριν #1043

  • pmav99
  • Το Άβαταρ του/της pmav99
  • Αποσυνδεμένος
  • Author
  • Δημοσιεύσεις: 684
  • Ληφθείσες Ευχαριστίες 111
google is your friend...

glade + pyGTK
what is wxPython
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Απ: Project στην python 13 Χρόνια 3 Μήνες πριν #1055

  • Danny Pedrosa
  • Το Άβαταρ του/της Danny Pedrosa
  • Αποσυνδεμένος
  • py____
  • Δημοσιεύσεις: 12
Αυτό που δεν έχω ακόμα καταλάβει είναι αν είναι εφικτό μέσω κουμπιών(button ή toggled buttons δεν έχω καταλάβει τη διαφορά)να εμφανίζονται διαδοχικά παράθυρα.Αυτό που θέλω να κάνω είναι να έχω αρχικά ένα παράθυρο με 5 τίτλους βιβλίων και όταν πατάω ένα βιβλίο να πηγαίνω σε ένα παράθυρο να περιέχει την περίληψη,τον συγγραφέα,το έτος συγγραφής και την εικόνα του βιβλίου.Ξέρω ότι όλα αυτά μπορουν να γίνουν μεμονωμένα και ξεχωριστά,αλλά δεν ξέρω αν γίνονται μαζί.Θα ήθελα να μάθω τον τρόπο που γίνονται ή αν υπάρχει κάποιος άλλος τρόπος που μπορώ να υλοποιήσω αυτό που θέλω.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Απ: Project στην python 13 Χρόνια 3 Μήνες πριν #1056

  • pmav99
  • Το Άβαταρ του/της pmav99
  • Αποσυνδεμένος
  • Author
  • Δημοσιεύσεις: 684
  • Ληφθείσες Ευχαριστίες 111
Αν έχεις λίγα βιβλία, ένας σχετικός απλός τρόπος σε υλοποίηση είναι να διαλέγεις το βιβλίο σου μέσω ενός ComboBox και μετά πατώντας ένα κουμπί να εμφανίζεις ότι πληροφορίες θέλεις για αυτό.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Απ: Project στην python 13 Χρόνια 3 Μήνες πριν #1057

  • pmav99
  • Το Άβαταρ του/της pmav99
  • Αποσυνδεμένος
  • Author
  • Δημοσιεύσεις: 684
  • Ληφθείσες Ευχαριστίες 111
Για να κάνεις το παραπάνω θα μπορούσες να κάνεις τα εξής:

1. Φτιάχνεις το παράθυρο
2. Βάζεις μέσα το ComboBox με τις επιλογές
3. Διαβάζεις την επιλογή του ComboBox και την αποθηκεύεις σε μία μεταβλητή (πχ key)
4. Όταν πατάς το κουμπί δημιουργείς ένα νέο παράθυρο το οποίο ανάλογα με την τιμή της key, εμφανίζει τα στοιχεία του αντίστοιχου βιβλίου.


Απλά για να πάρεις μερικές ιδέες πως μπορείς να το κάνεις:

Ο εύκολος τρόπος για να αποθηκεύσεις τα βιβλία είναι να χρησιμοποιήσεις dictionary:
book1 = {"id":1, "Title":"First Book", ....}
book2 = {"id":2, "Title":"Second Book", ....}

Ένας αρκετά "κομψός" τρόπος για να κάνει την ίδια δουλειά, είναι να δημιουργήσεις μία κλάση και κάθε βιβλίο να είναι μία instance της κλάσης.
Class Book(object):
    def __init__(self, id, title, author, ISBN, year):
        self.id = id
        self.title = title
        self.author = author
        self.ISBN = ISBN
        self.year = year
 
book1 = Book(1, "First Book", "pmav99", "1414124114343", 2010)
book2 = Book(2, "Second Book", "pmav99", "244253143143X", 2011)
 
if key == book1.id:
    print("You chose the first book")
elif key == book2.id:
    print("You chose the second book")
elif ....

ps. Δεν τα έχω ελέγξει τα παραπάνω οπότε μπορεί να έχω κάνει κανά λαθάκι. Μείνε στο πνεύμα και όχι στο γράμμα ;)
Τελευταία διόρθωση: 13 Χρόνια 3 Μήνες πριν από pmav99.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Απ: Project στην python 13 Χρόνια 3 Μήνες πριν #1058

  • Danny Pedrosa
  • Το Άβαταρ του/της Danny Pedrosa
  • Αποσυνδεμένος
  • py____
  • Δημοσιεύσεις: 12
Σε αυτό που λες είσαι σωστός και επειδή έχω λίγα βιβλία μπορώ να το κάνω.Θα το δοκιμάσω και θα σου πώ.
Τελευταία διόρθωση: 13 Χρόνια 3 Μήνες πριν από Danny Pedrosa.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.
Συντονιστές: pmav99
Χρόνος δημιουργίας σελίδας: 0.285 δευτερόλεπτα

Μοιράσου το!

Powered by CoalaWeb

Λίστα Ταχυδρομείου