예제 #1
0
 def __init__(self):
     wx.Frame.__init__(self, None)
     self.data = GridData()
     grid = wx.grid.Grid(self)
     grid.SetTable(self.data)
     self.Bind(wx.EVT_CLOSE, self.OnClose)
     self.Show()
예제 #2
0
 def initgrid(self):
     """初始化网格对象"""
     #通过网格名称获得网格对象
     grid = self.FindWindowByName('grid')
     #创建网格中所需的表格
     table = ProductListGridTable(self.data)
     #设置网格的表格属性
     grid.SetTable(table, True)
     rowsizeinfo = wx.grid.GridSizesInfo(40, [])
     #设置网格所有行高
     grid.SetRowSizes(rowsizeinfo)
     colsizeinfo = wx.grid.GridSizesInfo(0, [100, 80, 130, 200])
     #设置网格所有列宽
     grid.SetColSizes(colsizeinfo)
     #设置单元格默认字体
     grid.SetDefaultCellFont(wx.Font(11, wx.FONTFAMILY_DEFAULT,
                                     wx.FONTSTYLE_NORMAL,
                                     wx.FONTWEIGHT_NORMAL, faceName='微软雅黑'))
     #设置行和列标题的默认字体
     grid.SetLabelFont(wx.Font(9, wx.FONTFAMILY_DEFAULT,
                               wx.FONTSTYLE_NORMAL,
                               wx.FONTWEIGHT_NORMAL, faceName='微软雅黑'))
     #设置网格选择模式为行选择
     grid.SetSelectionMode(grid.wxGridSelectRows)
     #设置不能拖动改变行高度、列宽度
     grid.DisableDragRowSize()
     grid.DisableDragColSize()
예제 #3
0
    def __init__(self):
        wx.Frame.__init__(self, None, title="Grid Table", size=(640, 480))

        grid = wx.grid.Grid(self)

        table = TestTable()
        grid.SetTable(table, True)
예제 #4
0
    def CreateGrid(slef, parent):
        panel = wx.Panel(parent)
        grid = wx.grid.Grid(panel)  # 创建网格
        table = MyGridTable()  # 创建表格
        grid.SetTable(table, True)
        grid.AutoSize()  # 设置自动化调整行列
        font1 = wx.Font(12,
                        wx.FONTFAMILY_DEFAULT,
                        wx.FONTSTYLE_NORMAL,
                        wx.FONTWEIGHT_NORMAL,
                        faceName='微软雅黑')
        font2 = wx.Font(12, wx.SWISS, wx.NORMAL, wx.BOLD)
        grid.SetLabelFont(font1)  # 标题字体
        grid.SetDefaultCellFont(font2)  # 单元格字体

        # 设置网格行高
        rowsizes = wx.grid.GridSizesInfo(30, [])
        grid.SetRowSizes(rowsizes)
        # 设置网格列宽
        colsizes = wx.grid.GridSizesInfo(0, [100, 120, 50, 150, 120, 120])
        grid.SetColSizes(colsizes)

        # 设置居中对齐
        grid.SetDefaultCellAlignment(wx.ALIGN_CENTER, wx.ALIGN_CENTER)

        # 设置背景色
        grid.SetDefaultCellBackgroundColour('#EEE9E9')

        box = wx.BoxSizer()
        box.Add(grid, 1, flag=wx.ALL | wx.EXPAND, border=5)
        panel.SetSizer(box)
        return panel
예제 #5
0
    def initgrid(self):
        '''初始化网格对象'''
        grid = self.FindWindowByName('grid')
        table = ProductListGridTable(self.data)
        grid.SetTable(table, True)

        # 设置网格行高和列宽
        rowsizeinfo = wx.grid.GridSizesInfo(40, [])
        grid.SetRowSizes(rowsizeinfo)
        colsizeinfo = wx.grid.GridSizesInfo(0, [100, 80, 130, 200])
        grid.SetColSizes(colsizeinfo)

        # 默认字体
        grid.SetDefaultCellFont(
            wx.Font(11,
                    wx.FONTFAMILY_DEFAULT,
                    wx.FONTSTYLE_NORMAL,
                    wx.FONTWEIGHT_NORMAL,
                    faceName='微软雅黑'))
        grid.SetLabelFont(
            wx.Font(11,
                    wx.FONTFAMILY_DEFAULT,
                    wx.FONTSTYLE_NORMAL,
                    wx.FONTWEIGHT_NORMAL,
                    faceName='微软雅黑'))

        grid.SetSelectionMode(grid.wxGridSelectRows)
        grid.DisableDragRowSize()
        grid.DisableDragColSize()
예제 #6
0
 def createGrid(self):
     #controlPanel = ControlPanel(self, -1)
     mainSizer = wx.GridBagSizer(hgap=2, vgap=2)
     #gridSizer = wx.BoxSizer(wx.HORIZONTAL)
     actionSizer = wx.BoxSizer(wx.VERTICAL)
     buttons = (("plus.png", self.OnClickPlus), 
                ("minus.png", self.OnClickMinus), 
                ('delete.png', self.OnClickDelete))
     for but in buttons:
         bmp = wx.Bitmap(but[0], wx.BITMAP_TYPE_PNG)
         self.button = wx.BitmapButton(self, -1, bmp, pos=(150, 20), style=0)
         self.Bind(wx.EVT_BUTTON, but[1], self.button)
         actionSizer.Add(self.button)
     
     mainSizer.Add(actionSizer, pos=(0,0))    
     grid = MyGrid(self)
    # self.Bind(wx.EVT_MO, self.OnColor, tool)
     
 #    grid.SetColLabelSize(100)
     mainSizer.Add(grid, pos=(0,1), flag=wx.EXPAND)
     tableName = 'category'
     table = MyTable(tableName)
     for idx, col in enumerate(gridData()[tableName][0]):
         table.SetColLabelValue(idx, col)
     grid.SetTable(table, True)
     
     button = wx.Button(self)
     mainSizer.Add(button, pos=(1,0), span=(1,2), flag=wx.EXPAND)
     
     mainSizer.AddGrowableRow(1)
     mainSizer.AddGrowableCol(1)
     self.SetSizer(mainSizer)
예제 #7
0
    def CreateGrid(self, parent):
        grid = wx.grid.Grid(parent)
        tablebase = MyGridTable()
        grid.SetTable(tablebase, True)
        # 设置行和列自定调整
        grid.AutoSize()

        return grid
예제 #8
0
    def __init__(self, xml_path):
        wx.Frame.__init__(self,
                          None,
                          title="XML Viewer",
                          size=wx.DisplaySize())

        grid = wx.grid.Grid(self)
        self.table = DataTable(xml_path)
        grid.SetTable(self.table, True)

        self.Bind(wx.EVT_CLOSE, self.OnCloseWindow)
예제 #9
0
def gridFactory(parent,
                data=[['', ''], ['', '']],
                colnames=[],
                rownames=[],
                oddcol="#f0f0f0",
                evencol="white",
                **gridargs):
    grid = wx.grid.Grid(parent, **gridargs)
    model = MinimalGridTableModel(len(data), len(data[0]), data, colnames,
                                  rownames, oddcol, evencol)
    grid.SetTable(model, True)
    return grid
예제 #10
0
    def _init_gui(self, result):
        table = DataTable(result)

        grid = wx.grid.Grid(self, -1)
        grid.SetTable(table, takeOwnership=True)
        grid.AutoSizeColumns()

        sizer = wx.BoxSizer(wx.VERTICAL)
        sizer.Add(grid, 1, wx.EXPAND)
        self.SetSizer(sizer)
        #self.SetTitle(result[5:8] + " Timetable")

        self.Bind(wx.EVT_CLOSE, self.exit)
예제 #11
0
    def _init_gui(self):
        df = pd.DataFrame(np.random.random((20, 5)))
        table = DataTable(df)

        grid = wx.grid.Grid(self, -1)
        grid.SetTable(table, takeOwnership=True)
        grid.AutoSizeColumns()

        sizer = wx.BoxSizer(wx.VERTICAL)
        sizer.Add(grid, 1, wx.EXPAND)
        self.SetSizer(sizer)
        sizer.SetSizeHints(self)

        self.Bind(wx.EVT_CLOSE, self.exit)
예제 #12
0
    def CreateGrid(self, parent):
        grid = wx.grid.Grid(parent)
        # grid.CreateGrid(len(data), len(data[0]))  # 设置网格的行数和列数
        table = MyGridTable()
        grid.SetTable(table, True)

        #for row in range(len(data)):
        #    for col in range(len(data[row])):
        #        grid.SetColLabelValue(col, column_names[col])    # 设置单元格标题
        #        grid.SetCellValue(row, col, data[row][col])      # 设置单元格内容

        # 设置行和列自动调整
        grid.AutoSize()
        return grid
예제 #13
0
def changeGrid(grid,
               data,
               colnames,
               rownames,
               oddcol="#f0f0f0",
               evencol="white"):
    if len(data) > 0:
        model = MinimalGridTableModel(len(data), len(data[0]), data, colnames,
                                      rownames, oddcol, evencol)
        grid.SetTable(model, True)
        grid.Refresh()
        grid.AutoSizeRows()
        grid.AutoSizeColumns()
        return grid
예제 #14
0
    def _init_gui(self):
        df = pd.DataFrame(np.random.random((10, 5)))
        # 色を塗りたいところ
        x = [[1, 1], [3, 3], [5, 5]]
        table = DataTable(df, x)

        grid = wx.grid.Grid(self, -1)
        grid.SetTable(table, takeOwnership=True)
        grid.AutoSizeColumns()

        sizer = wx.BoxSizer(wx.VERTICAL)
        sizer.Add(grid, 1, wx.EXPAND)
        self.SetSizer(sizer)

        self.Bind(wx.EVT_CLOSE, self.exit)
예제 #15
0
    def timer(self):
        df = pd.read_csv(
            "/Users/raedzorkot/Desktop/pythontestodes/Workbook2.csv")
        table = DataTable(df)

        grid = wx.grid.Grid(self, -1)
        grid.SetTable(table, takeOwnership=True)
        grid.AutoSizeColumns()

        sizer = wx.BoxSizer(wx.VERTICAL)
        sizer.Add(grid, 1, wx.EXPAND)
        self.SetSizer(sizer)

        self.Bind(wx.EVT_CLOSE, self.exit)
        self.Layout()
        self.Show()

        wx.CallLater(5000, self.timer)
예제 #16
0
    def creategrid(self):
        """创建购物车表格"""

        # 创建网格对象
        grid = wx.grid.Grid(self.contentpanel, name='grid')

        # 初始化表格
        # 创建网格中所需的表格
        table = CartGridTable(self.data)
        # 设置网格的表格属性
        grid.SetTable(table, True)
        grid.SetSize(1000, 600)

        # 设置网格所有行高
        rowsizeinfo = wx.grid.GridSizesInfo(40, [])
        grid.SetRowSizes(rowsizeinfo)

        # 设置网格所有列宽
        colsizeinfo = wx.grid.GridSizesInfo(176, [])
        grid.SetColSizes(colsizeinfo)
        # 设置单元格默认字体
        grid.SetDefaultCellFont(wx.Font(11, wx.FONTFAMILY_DEFAULT,
                                        wx.FONTSTYLE_NORMAL,
                                        wx.FONTWEIGHT_NORMAL,
                                        faceName='微软雅黑'))

        # 设置行和列标题的默认字体
        grid.SetLabelFont(wx.Font(9, wx.FONTFAMILY_DEFAULT,
                                  wx.FONTSTYLE_NORMAL,
                                  wx.FONTWEIGHT_NORMAL,
                                  faceName='微软雅黑'))
        # 设置表格选择模式为行选择
        grid.SetSelectionMode(grid.wxGridSelectRows)
        # 设置不能通过拖动改变行高度
        grid.DisableDragRowSize()
        # 设置不能通过拖动改变列宽度
        grid.DisableDragColSize()

        return grid
    def initgrid(self):
        """初始化网格对象"""

        # 通过网格名称获得网格对象
        grid = self.FindWindowByName('grid')

        # 创建网格中所需的表格
        table = ProductListGridTable(self.data)
        # 设置网格的表格属性
        grid.SetTable(table, True)

        # 获取网格行的信息对象,40是行高,每一行都是40,后面的列表是单独指定每一行的,这里是空列表
        row_size_info = wx.grid.GridSizesInfo(40, [])
        # 设置网格所以行高
        grid.SetRowSizes(row_size_info)
        # 设置网格所以列宽
        col_size_info = wx.grid.GridSizesInfo(0, [100, 80, 130, 200])
        grid.SetColSizes(col_size_info)
        # 设置单元格默认字体
        grid.SetDefaultCellFont(
            wx.Font(11,
                    wx.FONTFAMILY_DEFAULT,
                    wx.FONTSTYLE_NORMAL,
                    wx.FONTWEIGHT_NORMAL,
                    faceName='微软雅黑'))
        # 设置行和列标题的默认字体
        grid.SetLabelFont(
            wx.Font(9,
                    wx.FONTFAMILY_DEFAULT,
                    wx.FONTSTYLE_NORMAL,
                    wx.FONTWEIGHT_NORMAL,
                    faceName='微软雅黑'))
        # 设置网格选择模式为行选择
        grid.SetSelectionMode(grid.wxGridSelectRows)
        # 设置网格不能通过拖动改标高度和宽度
        grid.DisableDragRowSize()
        grid.DisableDragColSize()
예제 #18
0
파일: psp.py 프로젝트: imclab/rad2py
 def CreatePSPPlanSummaryGrid(self, filename):
     grid = wx.grid.Grid(self)
     self.psptimetable = PlanSummaryTable(grid, filename)
     grid.SetTable(self.psptimetable, True)
     return grid
예제 #19
0
 def __init__(self, parent):
     wx.Frame.__init__(self, parent, -1, "A Grid", size=(275, 275))
     grid = wx.grid.Grid(self)
     tableBase = GenericTable(data, rowLabels, colLabels)
     grid.SetTable(tableBase, True)
예제 #20
0
 def showSqlData(self,data,grid):
     table = MyDataTable(data[1],data[0])
     grid.SetTable(table)
     grid.AutoSize()
     grid.Refresh()
예제 #21
0
  def __init__(self, parent,lbl,hid):
    wx.Frame.__init__(self, parent, title='HDFGridView: '+lbl,size=wx.Size(750, 650))
    imgDir=ut.Path.GetImage()
    icon = wx.Icon(os.path.join(imgDir,'h5pyViewer.ico'), wx.BITMAP_TYPE_ICO)
    self.SetIcon(icon)

    pan = wx.Panel(self, -1)

    t=type(hid)
    if t==h5py.h5d.DatasetID:
      data=h5py.Dataset(hid)
    elif t==np.ndarray:
      data=hid
    else:
      raise(TypeError('unhandled type'))
    grid = Grid(pan, data)

    tbl=grid.GetTable()

    sizer = wx.BoxSizer(wx.VERTICAL)
    sizer.Add(grid, 1, wx.EXPAND)
    wxAxCtrlLst=[]
    l=len(data.shape)
    if l==1:
      if type(hid.get_type())==h5py.h5t.TypeCompoundID:
        tbl = Table1DCompound(data)
      else:
        tbl = Table1DArray(data)
    else:
      idxXY=(l-2,l-1)
      #idxXY=(l-1,l-2)
      for idx,l in enumerate(data.shape):
        if idx in idxXY:
          continue
        wxAxCtrl=ut.SliderGroup(pan, label='Axis:%d'%idx,range=(0,l-1))
        wxAxCtrl.idx=idx
        wxAxCtrlLst.append(wxAxCtrl)
        sizer.Add(wxAxCtrl.sizer, 0, wx.EXPAND | wx.ALIGN_CENTER | wx.ALL, border=5)
        wxAxCtrl.SetCallback(Grid.OnSetView,wxAxCtrl)

      sl=ut.GetSlice(idxXY,data.shape,wxAxCtrlLst)

      if type(hid.get_type())==h5py.h5t.TypeCompoundID:
        tbl = Table2DArray(data)
      else:
        tbl = Table2DArray(data)
      tbl.idxXY=idxXY
      if idxXY[0]<idxXY[1]:
        tbl.view = tbl.data[sl]
      else:
        tbl.view = tbl.data[sl].T
    self.wxAxCtrlLst=wxAxCtrlLst
    #print type(tbl)

    grid.SetTable (tbl, True)
    #AutoSize must be called after SetTable, but takes lot of time on big tables!
    if tbl.GetNumberCols()*tbl.GetNumberRows()<50*50:
      grid.AutoSizeColumns(True);grid.AutoSizeRows(True)
    #grid.SetDefaultColSize(200, True)       
    self.grid=grid

    pan.SetSizer(sizer)
    pan.Layout()
    self.Centre()
    self.BuildMenu()
    grid.Bind(wx.grid.EVT_GRID_CMD_COL_SIZE, self.OnColSize)
예제 #22
0
 def _end_model_reset(self):
     grid = self.GetView()
     grid.SetTable(self)
     grid.Refresh()