hpareek

LINK

Jun 10th, 2017
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.43 KB | None | 0 0
  1.             import wx
  2.             import sqlite3
  3.             import wx.grid
  4.             import os
  5.                
  6.             cwd = os.path.abspath(os.curdir)
  7.  
  8.             def connect():                         #this is the sqlite3 connection
  9.                 conn = sqlite3.connect('RAMAN.db')
  10.                 return conn
  11.                 conn.close()
  12.  
  13.             def data_rows_count():# to count the rows in the database
  14.                 conn = connect()
  15.                 cur=conn.cursor()
  16.                 cur.execute("SELECT * FROM ELEMENT")
  17.                 rows=cur.fetchall()
  18.                 i=0
  19.                 for r in rows:
  20.                 i+=1
  21.                 return i
  22.  
  23.             class Example(wx.Frame):              
  24.                        
  25.                 def __init__(self, parent, title):
  26.                 super(Example, self).__init__(parent, title=title, size=(800,600))
  27.    
  28.                 self.InitUI()
  29.                 self.Layout()
  30.                 self.Centre()
  31.                 self.Show()
  32.              
  33.                 def refresh_data(self):
  34.                 conn =connect()
  35.                 cur = conn.cursor()
  36.                 cur.execute("SELECT * FROM Phone")
  37.                 rows=cur.fetchall()
  38.                 for i in range (0,len(rows)):
  39.                     for j in range(0,4):
  40.                     cell = rows[i]
  41.                     self.grid_1.SetCellValue(i,j,str(cell[j]))
  42.    
  43.                
  44.                 def InitUI(self):
  45.                 self.grid_1 = wx.grid.Grid(self, -1, size=(1, 1))
  46.                 p = wx.Panel(self)
  47.                 r=data_rows_count()
  48.                 self.grid_1.CreateGrid(r, 1)                    #this is to create the grid with same rows as database
  49.                 self.grid_1.SetColLabelValue(0, ("SYMBOL"))
  50.                 self.grid_1.SetColSize(0, 12)  
  51.                 bs = wx.BoxSizer(wx.VERTICAL)
  52.                 self.t1 = wx.TextCtrl(p,size = (120,30),style = wx.TE_MULTILINE |wx.TE_CENTER)
  53.                 bs.Add(self.t1, 1, wx.EXPAND)
  54.                 bs.Add(grid_1, 1, wx.EXPAND)
  55.                 self.refresh_data()
  56.    
  57.                 def clk_h(self, event):
  58.                 r=data_rows_count
  59.                 for e in range(0,r):
  60.                     for f in range(0,103):
  61.                     self.grid_1.SetCellValue(e,f,"")
  62.                 conn=connect()
  63.                 cursor=conn.cursor()
  64.                 currsor.execute("SELECT SYMBOL FROM ELEMENT")
  65.                 conn.commit()
  66.                 rows=cursor.fetchall()
  67.                 btn = wx.Button(p, -1, h, (10,20))
  68.                 btn.myname = h
  69.                 btn.Bind(wx.EVT_BUTTON, self.OnClick, btn)
  70.                 grid_1.Add(btn, 0, wx.EXPAND)
  71.                 for i in range(len(rows)):
  72.                     for j in range(0,4):
  73.                     cell=rows[i]
  74.                     self.grid_1.SetCellValue(i,j,str(cell[j]))
  75.                 conn.close()
  76.                 event.Skip()
  77.                    
  78.                 p.SetSizer(bs)
  79.              
  80.                 def OnClick(self, event):
  81.                 name = event.GetEventObject().myname
  82.                 self.t1.AppendText(name)
  83.                 self.t1.AppendText("\n")  
  84.  
  85.    
  86.             app = wx.App()
  87.             Example(None, title = 'Grid demo')
  88.             app.MainLoop()
Add Comment
Please, Sign In to add comment