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

ΘΕΜΑ: wx.checkbox: Πως μπορώ να αποθηκεύσω προσωρινά τις επιλογές

wx.checkbox: Πως μπορώ να αποθηκεύσω προσωρινά τις επιλογές 10 Χρόνια 2 Μήνες πριν #2313

  • pap
  • Το Άβαταρ του/της pap
  • Αποσυνδεμένος
  • p_____
  • Δημοσιεύσεις: 1
Στον κώδικα μου έχω ένα παράθυρο το οποίο έχει ένα κουμπί το οποίο ανοίγει ένα δεύτερο παράθυρο στο οποίο υπάρχουν κάποια checkbox. Η ερώτηση μου είναι πως μπορώ όταν κλείσω το δεύτερο παράθυρο να θυμάται όταν το ξανά ανοίξω ποια checkbox έχω επιλέξει;

Σημείωση: να κλείσει μόνο το δεύτερο παράθυρο και όχι να κλείσει όλο το πρόγραμμα και να ξανά τρέξει.

Παραθέτω ένα παράδειγμα που έκανα:

import wx
 
class MainFrame(wx.Frame):
 
    def __init__(self):
        wx.Frame.__init__(self, None, wx.ID_ANY, "Test",size=(300,200))
 
        self.Btn = wx.Button(self, label="New",pos=(10,10),size=(30,30))
        self.Bind(wx.EVT_BUTTON, self.new, self.Btn)
 
    def new(self, event):
        newFrame().Show()
 
class newFrame(wx.Frame):
 
    def __init__(self):
        wx.Frame.__init__(self, None, wx.ID_ANY, "Test 2",size=(300,200))
 
        self.ch0 = wx.CheckBox(self, -1,"Choice 1",pos=(10,10))
        self.Bind(wx.EVT_CHECKBOX, self.OnCB0, self.ch0)
        self.ch1 = wx.CheckBox(self, -1,"Choise 2",pos=(10,30))
        self.Bind(wx.EVT_CHECKBOX, self.OnCB1, self.ch1)
        self.ch2 = wx.CheckBox(self, -1,"Choise 3",pos=(10,50))
        self.Bind(wx.EVT_CHECKBOX, self.OnCB2, self.ch2)
 
    def OnCB0(self, event):
        if self.ch0.IsChecked():
            print "Checked 1"
        else:
            print "UnChecked 1"
 
    def OnCB1(self, event):
        if self.ch1.IsChecked():
            print "Checked 2"
        else:
            print "UnChecked 2"
 
    def OnCB2(self, event):
        if self.ch2.IsChecked():
            print "Checked 3"
        else:
            print "UnChecked 3"      
 
if __name__ == '__main__':
    app = wx.App(False)
    app.frame = MainFrame()
    app.frame.Show()
    app.MainLoop()
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

wx.checkbox: Πως μπορώ να αποθηκεύσω προσωρινά τις επιλογές 10 Χρόνια 2 Μήνες πριν #2314

  • pmav99
  • Το Άβαταρ του/της pmav99
  • Αποσυνδεμένος
  • Author
  • Δημοσιεύσεις: 684
  • Ληφθείσες Ευχαριστίες 111
Έχω πολλά χρόνια να κάνω οτιδήποτε σε wx, πάντως νομίζω ότι το να δημιουργείς καινούριο instance της newFrame στην συνάρτηση new() δεν είναι αυτό που θες να κάνεις. Αν θες να αποθηκεύσεις state, τοτε θα πρέπει να χρησιμοποιείς το ίδιο instance καθε φορά.

Από εκεί και πέρα τσέκαρε και αυτά
wxpython.org/docs/api/wx.CheckBox-class.html#SetValue
wiki.wxpython.org/AnotherTutorial#wx.CheckBox
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.
Συντονιστές: pmav99
Χρόνος δημιουργίας σελίδας: 0.262 δευτερόλεπτα

Μοιράσου το!

Powered by CoalaWeb

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