Η χρήση πολλαπλών αρχείων Glade: GtkBuiler

ψήφοι
3

Γράφω μια εφαρμογή για το gnome που θα υποστηρίξει plugins. Κάθε πρόγραμμα θα περιέχει ένα αρχείο ξέφωτο και ένα python script.

Πώς μπορώ να ενσωματώσετε το αρχείο ξέφωτο από το plugin στο κύριο περιβάλλον.

Plugin ξέφωτο αρχεία θα πρέπει να περιλαμβάνει μια σελίδα / καρτέλα και θα embeded σε ένα φορητό υπολογιστή στην κύρια διεπαφή.

Παρακαλώ βοηθήστε.

Δημοσιεύθηκε 04/09/2009 στις 10:06
πηγή χρήστη
Σε άλλες γλώσσες...                            


2 απαντήσεις

ψήφοι
3

Ο καλύτερος τρόπος θα ήταν να κάνει τα plugins φορτώσει το ξέφωτο αρχείο τους και να έχουν μια λειτουργία που το κύριο πρόγραμμα μπορεί να καλέσει για να πάρετε τη σελίδα / καρτέλα. Με αυτόν τον τρόπο το plugin μπορείτε να συνδέσετε όλα τα σήματα που χρειάζεται για να. τεκμηρίωση gtk.Builder .

Απαντήθηκε 04/09/2009 στις 14:42
πηγή χρήστη

ψήφοι
2

Έχετε δύο επιλογές:

  1. Μπορείτε να ανοίξετε τα δύο ξέφωτο αρχεία σε δύο διαφορετικά αντικείμενα GtkBuilder, και στη συνέχεια προσθέστε το χέρι το περιεχόμενο του αρχείου plugin στο κύριο παράθυρο. Θα μπορούσατε να βάλετε το περιεχόμενο του plugin σε ένα κουτί που ονομάζεται pluginboxκαι το σημειωματάριο της κύριας εφαρμογής σας θα πρέπει να ονομάζεται mynotebook. Σε κώδικας θα πρέπει να μοιάζει κάπως έτσι:

    main_builder = gtk.Builder()
    main_builder.add_from_file('main.glade')
    
    plugin_builder = gtk.Builder()
    plugin_builder.add_from_file('plugin.glade')
    
    mynotebook = main_builder.get_object('mynotebook')
    pluginbox = plugin_builder.get_object('pluginbox')
    mynotebook.append_page(pluginbox)
    
  2. Μπορείτε να προσθέσετε διάφορα αρχεία σε ένα οικοδόμος. Θα πρέπει να είστε σίγουροι ότι δεν υπάρχει σύγκρουση με τα ονόματα των δύο αρχείων:

    main_builder = gtk.Builder()
    main_builder.add_from_file('main.glade')
    main_builder.add_from_file('plugin.glade')
    
    mynotebook = main_builder.get_object('mynotebook')
    pluginbox = main_builder.get_object('pluginbox')
    mynotebook.append_page(pluginbox)
    
Απαντήθηκε 04/09/2009 στις 18:04
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more