Python - Limpiar ventana de aplicacion.

 
Vista:
sin imagen de perfil

Limpiar ventana de aplicacion.

Publicado por Ricardo (18 intervenciones) el 25/06/2014 03:04:30
Hola, necesito ayuda con wx.python.

Estoy haciendo una aplicación de escritorio en la que muestro varias imágenes en un wx.GridSizer, cuando toco otro botón necesito mostrar imágenes diferentes, entonces llamo al método general de nuevo para mostrar las nuevas imágenes (teóricamente armaría nuevamente la app) pero me sigue mostrando las imágenes anteriores y agrega las nuevas que tendría que mostrar solas.

Lo que necesitaría es una forma de limpiar la pantalla o algo así.

Si alguien sabe como ayudarme le agradezco enormemente.

Gracias.!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 2.239
Plata
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Limpiar ventana de aplicacion.

Publicado por xve (1646 intervenciones) el 25/06/2014 10:18:13
Hola Ricardo, no entiendo muy bien porque te hace eso... en principio si cambias una imagen debería de cambiarse...

Nos puedes adjuntar el código para probarlo?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Limpiar ventana de aplicacion.

Publicado por Ricardo (18 intervenciones) el 26/06/2014 00:04:26
xve aca te adjunto parte del codigo: Cualquier cosa si no entendes algo me avisas porque tiene varias funciones y modulos aparte. Gracias por intentar ayudar.

La funcion "Mostrar" es donde listo en 3 filas las imagenes. Al final llamo a "self.basicGUI()" y cuando muestro otras imagenes me las agrega a las que ya tenia. Ese es el problema que tengo.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
class windowClass(wx.Frame):
 
    def __init__(self, *args, **kwargs):
        super(windowClass, self).__init__(*args, **kwargs)
 
        self.basicGUI()
 
    def basicGUI(self):
 
        self.vbox = wx.BoxSizer(wx.VERTICAL)
 
        menuBar = wx.MenuBar()
 
        fileButton = wx.Menu()
        editButton = wx.Menu()
        aboutButton = wx.Menu()
        importItem = wx.Menu()
 
        importItem.Append(wx.ID_ANY, 'Import Documento..')
        importItem.Append(wx.ID_ANY, 'Import foto..')
        importItem.Append(wx.ID_ANY, 'Import video..')
 
        fileButton.AppendMenu(wx.ID_ANY, 'Import', importItem)
 
        BarrasHerr = wx.BoxSizer(wx.VERTICAL)
#TOOLBAR 1
        toolBar = wx.ToolBar(self)
        quitToolButton = toolBar.AddLabelTool(wx.ID_ANY, 'Quit',
            wx.Bitmap('exit.png'))
        toolBar.AddSeparator()
        importToolButton = toolBar.AddLabelTool(wx.ID_ANY, 'Import',
            wx.Bitmap('Agregar.png'))
        reproducirButton = toolBar.AddLabelTool(wx.ID_ANY, 'Play',
            wx.Bitmap('play.png'))
        borrarlista = toolBar.AddLabelTool(wx.ID_ANY, 'Borrar',
            wx.Bitmap('borrar.png'))
        borrarelemento = toolBar.AddLabelTool(wx.ID_ANY, 'Quitar',
            wx.Bitmap('quitar.png'))
        toolBar.Realize()
 
        self.Bind(wx.EVT_TOOL, self.Quit, quitToolButton)
        self.Bind(wx.EVT_TOOL, self.Agregar, importToolButton)
        self.Bind(wx.EVT_TOOL, self.Coqui, reproducirButton)
        self.Bind(wx.EVT_TOOL, self.BorrarLista, borrarlista)
        self.Bind(wx.EVT_TOOL, self.QuitarElemento, borrarelemento)
 
#TOOLBAR 2
        toolBar2 = wx.ToolBar(self)
        rubro1Button = toolBar2.AddLabelTool(1, 'Abecedario',
            wx.Bitmap('boton1.png'))
        rubro2Button = toolBar2.AddLabelTool(2, 'Deporte',
            wx.Bitmap('boton2.png'))
        rubro3Button = toolBar2.AddLabelTool(wx.ID_ANY, 'Rubro1',
            wx.Bitmap('boton3.png'))
        rubro4Button = toolBar2.AddLabelTool(wx.ID_ANY, 'Rubro1',
            wx.Bitmap('boton4.png'))
        rubro5Button = toolBar2.AddLabelTool(wx.ID_ANY, 'Rubro1',
            wx.Bitmap('boton5.png'))
        rubro6Button = toolBar2.AddLabelTool(wx.ID_ANY, 'Rubro1',
            wx.Bitmap('boton6.png'))
        rubro7Button = toolBar2.AddLabelTool(wx.ID_ANY, 'Rubro1',
            wx.Bitmap('boton7.png'))
        rubro8Button = toolBar2.AddLabelTool(wx.ID_ANY, 'Rubro1',
            wx.Bitmap('boton8.png'))
        rubro9Button = toolBar2.AddLabelTool(wx.ID_ANY, 'Rubro1',
            wx.Bitmap('boton9.png'))
        rubro10Button = toolBar2.AddLabelTool(wx.ID_ANY, 'Rubro1',
            wx.Bitmap('boton10.png'))
 
        toolBar2.Realize()
 
        self.Bind(wx.EVT_TOOL, self.Mostrar, rubro1Button)
        self.Bind(wx.EVT_TOOL, self.Mostrar, rubro2Button)
        self.Bind(wx.EVT_TOOL, self.Mostrar, rubro3Button)
        self.Bind(wx.EVT_TOOL, self.Limpiar, rubro4Button)
 
        BarrasHerr.Add(toolBar2, 0, wx.EXPAND)
        BarrasHerr.Add(toolBar, 0, wx.EXPAND)
        self.vbox.Add(BarrasHerr, 0, wx.EXPAND)
 
        exitItem = wx.MenuItem(fileButton, wx.ID_EXIT, 'Quit\tCtrl+Q')
        exitItem.SetBitmap(wx.Bitmap('exit.png'))
 
        aboutItem = aboutButton.Append(wx.ID_ABOUT)
 
        fileButton.AppendItem(exitItem)
 
        menuBar.Append(fileButton, 'File')
        menuBar.Append(editButton, 'Edit')
        menuBar.Append(aboutButton, 'Ayuda')
 
        self.SetMenuBar(menuBar)
        self.Bind(wx.EVT_MENU, self.Quit, exitItem)
        self.Bind(wx.EVT_MENU, self.Acerca, aboutItem)
 
        self.Global = []
#VARIABLE GLOBAL PARA GUARDAR LISTA DE AUDIO A REPRODUCIR
 
        self.SetSizer(self.vbox)
 
        self.SetTitle('Bienvenido ')
        self.Show(True)
        self.SetDimensions(0, 0, 1000, 700)
        self.Centre()
 
    def Mostrar(self, e):
        Rubro_Id = (e.GetId())
        print Rubro_Id
        self.result = DB_Consulta.Consulta2(Rubro_Id)
        print self.result
 
        hbox = wx.BoxSizer(wx.VERTICAL)
 
        sizer = wx.GridSizer(1, 8, 5, 5)
        sizer2 = wx.GridSizer(1, 8, 5, 5)
        sizer3 = wx.GridSizer(1, 8, 5, 5)
 
        resultId = self.result[0]
        resultImagen = self.result[1]
        resultAudio = self.result[2]
 
        self.var1 = 0
        self.var2 = 0
        self.var3 = 0
        j = 0
        for i in resultImagen:
            print ((j))
            print ((resultImagen[j]))
 
            self.pic = [(wx.Image(resultImagen[j], wx.BITMAP_TYPE_PNG).ConvertToBitmap()),
                (resultAudio[j]), (resultId[j])]
 
            self.Button = (wx.BitmapButton(self, self.pic[2], self.pic[0], pos=(20, 200)))
 
            if self.var1 == j:
                sizer.AddMany([self.Button])
                self.var2 = j + 1
                print ('primer if')
            else:
                if self.var2 == j:
                    sizer2.AddMany([self.Button])
                    self.var3 = j + 1
                    print ('segundo if')
                else:
                    sizer3.AddMany([self.Button])
                    self.var1 = j + 1
                    print ('else')
 
            self.Bind(wx.EVT_BUTTON, self.doMe, self.Button)
            self.Button.SetDefault()
 
            j = j + 1
 
        hbox.Add(sizer, proportion=1, flag=wx.EXPAND)
        hbox.Add(sizer2, proportion=1, flag=wx.EXPAND)
        hbox.Add(sizer3, proportion=1, flag=wx.EXPAND)
 
        self.vbox.Add(hbox, proportion=1, flag=wx.EXPAND)
        self.basicGUI()
 
    def Quit(self, e):
        self.Close()
 
    def doMe(self, event):
        Id_imagen = event.GetId()
        print (Id_imagen)
        cadena = DB_Consulta.ConsultaId(Id_imagen)
        print (cadena)
        self.Global.append(cadena)
        print ((self.Global))
 
    def Coqui(self, event):
        canti = len(self.Global)
        for i in range(canti):
            prueba_reproducir_funciona.reproducir(self.Global[i])
 
    def BorrarLista(self, event):
        self.Global = []
 
    def QuitarElemento(self, event):
        self.Global.pop()
 
    def Acerca(self, event):
        acerca_de.OnAboutBox(event)
 
    def Limpiar(self, event):
        self.basicGUI()
 
def main():
    app = wx.App()
    windowClass(None)
    app.MainLoop()
 
main()
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 2.239
Plata
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Limpiar ventana de aplicacion.

Publicado por xve (1646 intervenciones) el 27/06/2014 07:58:19
Hola Ricardo, he intentado probar tu código pero me da errores, ya que no nos muestras los "import"... nos puedes adjuntar o mostrar el archivo completo para poder probarlo?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Limpiar ventana de aplicacion.

Publicado por Ricardo (18 intervenciones) el 27/06/2014 16:04:47
Hola xve. Te adjunto un .rar con el proyecto completo, archivos de codigo, carpetas con imagenes q uso, base de datos, etc. una vez q lo tengas avisame y te explico cual es la falla, igual capaz te des cuenta cuando lo pruebes.
esta hecho todo en windows.
El archivo principal es "Ventana" ;)

Gracias nuevamente.
[email protected]

ahi esta mi mail por si queres, y es mas facil comunicarnos por ahi.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Limpiar ventana de aplicacion.

Publicado por Ricardo (18 intervenciones) el 11/07/2014 16:18:49
Una pregunta: alguna novedad con eso?? sigo con el problema.! me estoy volviendo loco!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Limpiar ventana de aplicacion.

Publicado por Ricardo (18 intervenciones) el 27/06/2014 01:36:01
Hola xve, perdon la molestia, pero., pudiste ver algo?? No encuentro la forma de solucionar este problema.
He buscado que puede ser pero no encuentro nada. si queres te agrego capturas de lo q me hace, asi capaz entiendas mejor que es lo que me pasa.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Limpiar ventana de aplicacion.

Publicado por Ricardo (18 intervenciones) el 01/07/2014 15:21:45
. No hay ayuda para mi?. No logro resolver el problema. :(
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar