Hola, lo que se veia mal ya lo arregle , era que me estaba pasando en las dimensiones de las label y los otros widgets pero quede con este probelma ,m y es que en windows wsta venta que copio el codigo se me ve con el fondo gris oscuro y no me doy cuenta porque

en WIONDOWS XP Y SEVEN se ve con fondo gris oscuro y en linux no . es la unica ventana de la aplicacion que le pasa eso.

class VentanaMovDescuento(wx.Frame):
    def __init__(self,parent):

wx.Frame.__init__(self, parent , -1, 'Ingresar Movimiento', style=wx.MAXIMIZE_BOX | wx.SYSTEM_MENU | wx.CAPTION | wx.CLOSE_BOX, pos=wx.Point(200,200),size=wx.Size(410,390))

       global mt
       mt = 0.00
       # Open database connection
       db = MySQLdb.connect("localhost","root","local1234HQ25C","cambio")
       # Prepara los cursores para usar metodo cursor()
       cursor = db.cursor()
cli = 'Select idcliente,apellidos,nombres from clientes order by apellidos'
       ban = 'Select idbanco,nombrebanco from bancos order by nombrebanco'
       mon = 'Select idmoneda,simbolomoneda from monedas'
emi = 'Select idemisor,nombreemisor from emisores order by nombreemisor'
       try:
                 #-----------------------------------
                 cursor.execute(cli)
                 global listacli,listaidcli
                 listacli = []
                 listaidcli = []
                 for i in cursor.fetchall():
                    listaidcli.append(str(i[0]))
                    listacli.append(i[1]+" "+i[2])
                 #------------------------------------
                 cursor.execute(emi)
                 global listaemi, listaidemisores
                 listaidemisores = []
                 listaemi = []
                 for i in cursor.fetchall():
                     listaidemisores.append(str(i[0]))
                     listaemi.append(i[1])
#------------------------------------
                 cursor.execute(ban)
                 global listabancos, listaidbancos
                 listaidbancos = []
                 listabancos = []
                 for i in cursor.fetchall():
                     listabancos.append(i[1])
                     listaidbancos.append(str(i[0]))

#------------------------------------
                 cursor.execute(mon)
                 global listaidmonedas, listamonedas
                 listaidmonedas = []
                 listamonedas = []
                 for i in cursor.fetchall():
                     listamonedas.append(i[1])
listaidmonedas.append(str(i[0]))


       except:
                 #Rollback in case there is any error
                 db.rollback()
                 # disconnect from server
                 db.close()

       # Nro Movimiento
self.etiquetaNroMovimiento = wx.StaticText(id=-1,label='Movimiento',name='etiquetaNroMovimiento', parent=self,pos=wx.Point(16, 20),size=wx.Size(80, 30), style=0) self.TextoNroMovimiento = wx.TextCtrl(id=-1, name='TextoNroMovimiento',parent=self,pos=wx.Point(110, 14), size=wx.Size(80, 21))

       #Fecha del Movimiento
       fecha = datetime.date.today()
       hoy = fecha.strftime("%d/%m/%Y")


self.etiquetaFechaMov = wx.StaticText(id=-1,label='Fecha Mov.',name='etiquetaFechaMov', parent=self,pos=wx.Point(200,20),size=wx.Size(70, 20), style=0) self.TextoFechaMov = wx.TextCtrl(id=-1, name='TextoFechaMov',value = str(hoy),parent=self,pos=wx.Point(280,14), size=wx.Size(90, 21))


       #Cliente con Combo Box
self.etiquetaComboCliente = wx.StaticText(id=-1,label='Cliente',name='etiquetaComboCliente', parent=self,pos=wx.Point(16, 40),size=wx.Size(70, 20), style=0) self.cbcli=wx.ComboBox(self,-1,"Elejir Cliente",(110,40),choices=listacli)



       # Botón de Agregar Clientes.
self.agregacli = wx.Button(parent=self,id=-1,label="AgregarC",pos=wx.Point(315,36),size=wx.Size(70,26))
       #------------------------------------------------------

       # Banco con Combo Box
self.etiquetaBanco = wx.StaticText(id=-1,label='Nombre Banco',name='etiquetaBanco', parent=self,pos=wx.Point(16, 66),size=wx.Size(70, 20), style=0) self.cbbancos=wx.ComboBox(self,-1,"Elejir Banco",(110,66),choices=listabancos)
       # Botón de AgregarBancos.
self.agregabanco = wx.Button(parent=self,id=-1,label="AgregarB",pos=wx.Point(315,66),size=wx.Size(70,26))
       #-----------------------------------------------------

       # Nro Cheque
self.etiquetaNrocheque = wx.StaticText(id=-1,label='Nro de cheque',name='etiquetaNrocheque', parent=self,pos=wx.Point(16, 93),size=wx.Size(70, 20), style=0) self.textoNrocheque = wx.TextCtrl(id=-1, name='textoNrocheque',parent=self,pos=wx.Point(110, 90), size=wx.Size(110, 21))

       # Emisor Con Combo Box
self.etiquetaEmisor = wx.StaticText(id=-1,label='Emisor',name='etiquetaEmisor', parent=self,pos=wx.Point(16, 120),size=wx.Size(70, 20), style=0) self.cbemisores=wx.ComboBox(self,-1,"Elejir Emisor",(110,118),choices=listaemi)

       #Fecha de emision de cheque
self.etiquetaFechaEmision = wx.StaticText(id=-1,label='Fecha Emision',name='etiquetaFechaEmitido', parent=self,pos=wx.Point(16, 147),size=wx.Size(70, 20), style=0) self.TextoFechaEmision = wx.TextCtrl(id=-1,name='TextoFechaEmision',value=str(hoy),parent=self,pos=wx.Point(110,145),size=wx.Size(90,21))


       #Fecha de Vencimiento Cheque
self.etiquetaVencimientoCheque = wx.StaticText(id=-1,label='Vencimiento',name='etiquetaVencimientoCheque', parent=self,pos=wx.Point(205, 150),size=wx.Size(70, 20), style=0) self.TextoFechaVenCheque = wx.TextCtrl(id=-1,name='TextoFechaVenCheque',value = str(hoy),parent=self,pos=wx.Point(290,147),size=wx.Size(90,21))

       # Dias de descuento .
self.etiquetaDias= wx.StaticText(id=-1,label='Dias desc.',name='etiquetaDias', parent=self,pos=wx.Point(205, 180),size=wx.Size(70, 13), style=0) self.textoDias = wx.TextCtrl(id=-1, name='textoDias',parent=self,pos=wx.Point(290,180), size=wx.Size(50, 21))


       #Moneda con Combo Box
self.etiquetaMonto = wx.StaticText(id=-1,label='Moneda',name='etiquetaMoneda', parent=self,pos=wx.Point(205, 212),size=wx.Size(50, 13), style=0) self.cbmonedas=wx.ComboBox(self,-1,"Elegir Moneda",(290,210),(90,20),choices=listamonedas)

       # Monto.
self.etiquetaMonto = wx.StaticText(id=-1,label='Monto',name='etiquetaMonto', parent=self,pos=wx.Point(205, 240),size=wx.Size(54, 13), style=0) self.textoMonto = wx.TextCtrl(id=-1, name='textoMonto',parent=self,pos=wx.Point(290, 236), size=wx.Size(100, 21))

       # Precio porcentaje inicial
self.etiquetaPorcentajeInicial = wx.StaticText(id=-1,label='Porc. apl.',name='etiquetaPorcentajeInicial', parent=self,pos=wx.Point(16,240),size=wx.Size(70,20), style=0) self.textoPorcentajeInicial = wx.TextCtrl(id=-1, name='textoPorcentajeInicial',parent=self,pos=wx.Point(90, 236), size=wx.Size(50, 21))

       #Etiqueta Monto a pagar
self.etiqueapagar = wx.StaticText(id=-1,label='Monto a pagar',name='etiquetaapagar',parent=self,pos=wx.Point(16,285),size=(120,15), style=0) self.montoapagar = wx.StaticText(id=-1,label="",name='etiquetamontoapagar',parent=self,pos=wx.Point(180,285),size=(120,15),style=0)

       # Etiqueta Monto Total
self.etiquetamontototal = wx.StaticText(id=-1,label='MONTO TOTAL',name='etiquetaMontoTotal', parent=self,pos=wx.Point(300, 270),size=wx.Size(120,15), style=0)
       self.etiquetamontototal.SetForegroundColour('blue')
self.etiquetaCifraMontoTotal = wx.StaticText(id=-1,label="",name='etCifraMontoTotal',parent=self,pos=wx.Point(300,285),size=wx.Size(120,15),style=0)

       ### B O T O N E S ###

       # Botón de Calcular Dias
self.calculardias = wx.Button(parent=self,id=-1,label="Calcular Dias",pos=wx.Point(16,175),size=wx.Size(130,30))

       # Botón de Generar Descuentos
self.Confirmar = wx.Button(parent=self,id=-1,label="Confirma Movimiento",pos=wx.Point(16,320),size=wx.Size(150,30)) self.generadescuento = wx.Button(parent=self,id=-1,label="Generar Descuento",pos=wx.Point(170,320),size=wx.Size(130,30))

       # Botón de salida de la ventana.
self.salir = wx.Button(parent=self,id=-1,label="Salir",pos=wx.Point(300,320),size=wx.Size(98,30))

       # Creamos los manejadores de eventos, ligando los eventos a
       # los métodos que tendrán el código asociado.
       self.salir.Bind(wx.EVT_BUTTON, self.OnBotonSalir)
       self.calculardias.Bind(wx.EVT_BUTTON, self.ClickCalcularDias)
       self.Confirmar.Bind(wx.EVT_BUTTON, self.ConfirmarMovimiento)
self.generadescuento.Bind(wx.EVT_BUTTON, self.OnClickGeneraDescuento)
       self.agregacli.Bind(wx.EVT_BUTTON,self.Btn_agregacli)
       self.agregabanco.Bind(wx.EVT_BUTTON,self.Btn_agregabanco)
       self.cbcli.Bind(wx.EVT_COMBOBOX,self.evt_combobox_cbcli)
       self.cbemisores.Bind(wx.EVT_COMBOBOX,self.evt_combobox_cbemi)
       self.cbbancos.Bind(wx.EVT_COMBOBOX,self.evt_combobox_cbban)
       self.cbmonedas.Bind(wx.EVT_COMBOBOX,self.evt_combobox_cbmon)

       self.Bind(wx.EVT_CLOSE, self.cerrar)

    # Definimos los métodos que contienen el código que se ejecutará
# cuando sean llamados a petición de los eventos definidos anteriormente.

    def OnBotonSalir(self, event):
        # Cerramos la ventana.
        self.Close(True)

    def evt_combobox_cbcli(self,evento):
        global idc
        sel = evento.GetSelection()
        val = self.cbcli.GetValue()
        idc = listaidcli[sel]

    def evt_combobox_cbemi(self,evento):
        global idemi
        selemi = evento.GetSelection()
        valemi = self.cbemisores.GetValue()
        idemi = listaidemisores[selemi]

    def evt_combobox_cbban(self,evento):
        global idban
        selban = evento.GetSelection()
        valban = self.cbbancos.GetValue()
        idban = listaidbancos[selban]

    def evt_combobox_cbmon(self,evento):
        global idmon
        selmon = evento.GetSelection()
        valmon = self.cbmonedas.GetValue()
        idmon = listaidmonedas[selmon]

    def Btn_agregacli(self, event):
        AltaCli = VentanaCli(self)
        AltaCli.Show()
        AltaCli.MakeModal()

    def Btn_agregabanco(self,event):
        AltaBanco = VentanaIngresaBanco(self)
        AltaBanco.Show()
        AltaBanco.MakeModal()

    def ConfirmarMovimiento(self,event):
        bd_idmovimiento = self.TextoNroMovimiento.GetValue()
        # Formatear fecha para ingreso a mysql-----------------
        fmov = self.TextoFechaMov.GetValue()
        dia, mes, ano = (fmov).split('/')
        bd_FechaMovimiento = date(int(ano), int(mes), int(dia))
        # fin formateo fecha ----------------------------------

        if self.cbcli.GetValue() == 'Elejir Cliente':
mensaje = wx.MessageDialog(None,'No selecciono ningun cliente','ERROR CLIENTES', wx.OK | wx.ICON_ERROR)
               mensaje.ShowModal()
               mensaje.Destroy()
           else:
               bd_idcliente = idc

           if self.cbbancos.GetValue() == 'Elejir Banco':
mensaje = wx.MessageDialog(None,'No selecciono Banco', 'ERROR BANCOS ' , wx.OK | wx.ICON_ERROR )
               mensaje.ShowModal()
               mensaje.Destroy()
        else:
            bd_idbanco = idban


           if self.cbemisores.GetValue() == 'Elejir Emisor':
mensaje = wx.MessageDialog(None,'No selecciono emisor', 'ERROR EMISORES ' , wx.OK | wx.ICON_ERROR )
               mensaje.ShowModal()
               mensaje.Destroy()
           else:
               bd_idemisor = idemi

        if self.cbmonedas.GetValue() == 'Elejir Moneda':
mensaje = wx.MessageDialog(None,'No selecciono Moneda', 'ERROR MONEDAS ' , wx.OK | wx.ICON_ERROR )
               mensaje.ShowModal()
               mensaje.Destroy()
        else:
            bd_idmoneda = idmon

           # formatear fecha de emision de cheque para insert mysql
           femic = self.TextoFechaEmision.GetValue()
           diae, mese, anoe = (femic).split('/')
           bd_FechaEmisionCheque = date(int(anoe),int(mese),int(diae))
           # fin formateo fecha emision cheque -----------------------
        # formateo fecha de vencimineto de cheque para insert mysql
        fvenc = self.TextoFechaVenCheque.GetValue()
        diavc,mesvc,anovc = (fvenc).split('/')
        bd_FechaVenCheque = date(int(anovc),int(mesvc),int(diavc))
        # fin formateo fecha vencimiento de cheque para mysql
        bd_diasdescuento = int(self.textoDias.GetValue())
        bd_porcentajedescuento = self.textoPorcentajeInicial.GetValue()
        bd_montocheque = self.textoMonto.GetValue()
        bd_montoapagar = total_a_pagar
        bd_estadomovimiento = "P"

        # Open database connection
db = MySQLdb.connect("localhost","root","miyaguiAdminaya2010","cambio")

        # prepare a cursor object using cursor() method
        cursor = db.cursor()

        # Prepare SQL query to INSERT a record into the database."""

insertarmov = """INSERT INTO movimientos (idmovimiento,fechamovimiento,idemisorcheque,idcliente,idbanco,idmoneda,fechaemicheque,fechavencheque,diasdescuento,porcentajedescuento,montocheque,montoapagar,estadomovimiento) VALUES (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)"""

        try:
                 # Execute the SQL command
cursor.execute(insertarmov,(bd_idmovimiento,bd_FechaMovimiento,bd_idemisor,bd_idcliente,bd_idbanco,bd_idmoneda,bd_FechaEmisionCheque,bd_FechaVenCheque,bd_diasdescuento,bd_porcentajedescuento,bd_montocheque,bd_montoapagar,bd_estadomovimiento,))
                 # Commit your changes in the database
                 db.commit()

        except MySQLdb.Error, e:
                 #Rollback in case there is any error
                 print "An error has been passed. %s" %e
                 db.rollback()

                 # disconnect from server
                 db.close()

    def ClickCalcularDias(self,evt):

        fm = self.TextoFechaMov.GetValue()
        dia, mes, ano = (fm).split('/')
        #global FechaMovimiento
        FechaMovimiento = date(int(ano), int(mes), int(dia))
        print FechaMovimiento

        fvc = self.TextoFechaVenCheque.GetValue()
        dia, mes, ano = (fvc).split('/')
        #global FechaVenCheque
        FechaVenCheque = date(int(ano),int(mes),int(dia))

        calculardias = FechaVenCheque - FechaMovimiento
        diasd = calculardias.days
        self.textoDias.Value = str(diasd)


    def OnClickGeneraDescuento(self,event):
        # Calcular Resultados
global mt,monto_descuento,nrocheque,nCliente,banco,monto,porcentajeinicial, monto_mensual, monto_xdia, monto_decuento, dias, total_a_pagar

        nrocheque = self.textoNrocheque.GetValue()
        banco = self.cbbancos.GetValue()
        monto = self.textoMonto.GetValue()
        nClliente = self.cbcli.GetValue()

        porcentajeinicial = self.textoPorcentajeInicial.GetValue()
        dias = self.textoDias.GetValue()

        monto = float(monto)
        porcentajeinicial = float(porcentajeinicial)
        monto_mensual = float(0.00)
        monto_mensual = (monto * porcentajeinicial)/100
        monto_xdia = float(0.00)
        monto_xdia = monto_mensual/30
        monto_descuento = 0.0
        dias = float(dias)
        monto_descuento = monto_xdia * dias

        total_a_pagar = 0.0
        total_a_pagar = monto - monto_descuento
        mt = mt + total_a_pagar

        self.montoapagar.SetForegroundColour('red')
        self.montoapagar.SetLabel(str(total_a_pagar))
        self.etiquetaCifraMontoTotal.SetLabel(str(mt))
        self.etiquetaCifraMontoTotal.SetForegroundColour('red')

    def cerrar(self, evt):
        self.MakeModal(False)
        evt.Skip()



El 04/09/13 09:45, Mario Lacunza escribió:

Uhm....sin ver tu código difícil q podamos ayudarte, prepara un demo.

Estas trabajando con sizers? Seguro q estas usando un wxpanel?

Enviado desde mi Samsung Galaxy S4

El 04/09/2013 03:26, "Alfredo Riguetti" <alfredo.rigue...@ptravel.com.uy <mailto:alfredo.rigue...@ptravel.com.uy>> escribió:

    Hola a todos, hice un abm en python con mysql y wxpython y estoy
    programando bajo fedora con eclipse, el sistema probandolo en
    linux como hasta ahora me anda impecable y se ve perfecto las
    ventanas textctrl botones y demas, ahroa me surgio el problema que
    lo tengo que instalar en un windows.

    hice lo que me recomendo un compañero de esta lista y me andubo,
    es decir instale las mismas versiones con las que trabaje . tanto
    mysql., python y wxpython y mysql-python conection.

    AHORA, el problema que tengo es que no se ve igual a como lo veia
    en linux. se ve mal, algunas ventanas se ven corridas, los botones
    no en el lugar exacto, algunos no se ven totalmente , los
    textctrol y combobox defasados,y me quiero arrancar los pelos ,
    tengo que solucionar esto y no se que es..... alguien puede
    tirarme una piola para salir de esto ysaber que es ???


    m,uchas gracias

    fefo

    _______________________________________________
    Python-es mailing list
    Python-es@python.org <mailto:Python-es@python.org>
    https://mail.python.org/mailman/listinfo/python-es
    FAQ: http://python-es-faq.wikidot.com/



_______________________________________________
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

--



        Alfredo Riguetti
Dpto. Informatica
Planet Travel
HRG Uruguay
Rio Negro 1320 piso 1
Montevideo - Uruguay
(598) 2900-1514
planettravel@ptravel,com,uy
www,planettravel,com,uy

Por favor considere su responsabilidad ambiental antes de imprimir este correo - Please consider your environmental responsability before printing this e-mail

_______________________________________________
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a