Código de Python - Ejemplo wx.Grid con Base de Datos

Imágen de perfil

Ejemplo wx.Grid con Base de Datosgráfica de visualizaciones


Python

Publicado el 21 de Marzo del 2014 por Xavi
3.060 visualizaciones desde el 21 de Marzo del 2014. Una media de 28 por semana
Código de ejemplo que muestra el contenido de una base de datos en un wx.grid

Versión 1

Publicado el 21 de Marzo del 2014gráfica de visualizaciones de la versión: Versión 1
3.061 visualizaciones desde el 21 de Marzo del 2014. Una media de 28 por semana
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

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
#! /usr/bin/env python
# -*- coding: utf-8 -*-
 
"""
Para este ejemplo, la base de datos solo tiene 2 campos:
CREATE TABLE IF NOT EXISTS `mail` (
  `name` varchar(100) DEFAULT NULL,
  `mail` varchar(100) NOT NULL DEFAULT '',
  PRIMARY KEY (`mail`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--
-- Dumping data for table `temporary`
--

INSERT INTO `temporary` (`name`, `mail`) VALUES
('name1', 'user1@domain1.com'),
('name2', 'user2@domain2.com'),
('name3', 'user3@domain3.com'),
('name4', 'user4@domain4.com');
"""
 
import wx, MySQLdb, wx.lib.intctrl, wx.grid
 
class MostrarGrid(wx.Frame):
    def __init__(self, parent, id):
        wx.Frame.__init__(self, parent, id, "Ejemplo wx.Grid con Base de Datos", size=(800,650))
 
        # conectamos con la base de datos
        db= MySQLdb.connect(host='localhost', user='all' , passwd='all', db='mailsList')
        cursor = db.cursor()
        # realizamos la consulta sql
        cursor.execute("SELECT * FROM mails limit 100")
        result=cursor.fetchall()
 
        # Definimos el panel principal
        panel = wx.Panel(self, -1)
        vbox = wx.BoxSizer(wx.VERTICAL)
 
        # Añadimos el grid
        grid = wx.grid.Grid(panel, -1, size=(670,550))
        # creamos las filas y columnas
        grid.CreateGrid(len(result),2)
 
        # definimos los campos que contiene el grid
        grid.SetColLabelValue(0, 'Nombre')
        grid.SetColLabelValue(1, 'Correo')
        # definimos los tamaños
        grid.SetRowLabelSize(50)
        grid.SetColSize(0,300)
        grid.SetColSize(1,300)
 
        gridTableSizer = wx.BoxSizer(wx.HORIZONTAL)
        gridTableSizer.Add(grid, wx.ALIGN_CENTER | wx.ALL,0)
 
        # Añadimos los campos de la base de datos a las columnas
        for i in range(0,len(result)):
            # añadimos la primera columna
            grid.SetCellValue(i,0,"%s" % result[i][0])
            # añadimos la segunda columna
            grid.SetCellValue(i,1,"%s" % result[i][1])
 
        #Add buttons
        BtnSizer = wx.BoxSizer(wx.HORIZONTAL)
        closeBtn = wx.Button(panel, -1, 'Cerrar')
        closeBtn.Bind(wx.EVT_BUTTON, self.onClose)
 
        BtnSizer.Add(closeBtn, 0, wx.ALL, 5)
        vbox.Add(gridTableSizer, 0, wx.ALIGN_CENTER | wx.ALL, 5)
        vbox.Add(BtnSizer, 0, wx.ALIGN_CENTER | wx.ALL, 5)
        panel.SetSizer(vbox)
        self.Show(True)
 
    def onClose(self, event):
        self.Close()
 
app = wx.App()
MostrarGrid(None, -1)
app.MainLoop()



Comentarios sobre la versión: Versión 1 (0)


No hay comentarios
 

Comentar la versión: Versión 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios

http://lwp-l.com/s2634