Example #1
0
    def setupPanel(self):

        nb = wx.Notebook(self)
        self.buyerPanel = BuyerPanel(nb)
        nb.AddPage(self.buyerPanel, "玩家统计")
        nb.AddPage(SellerPanel(nb), '庄家统计', select=True)
Example #2
0
class MainWindow(wx.Frame):
    '''定义一个窗口类'''

    def __init__(self, parent, title):
        super(MainWindow, self).__init__(parent, title=title, size=(600, 800))
        SystemInitializer.initialize()
        self.initUI()
        self.Show(True)

    def initUI(self):
        self.setupMenuBar()
        # menu bar should be drawn first
        # or panel sizer/layout will work wrongly
        self.setupPanel()

    def setupMenuBar(self):
        self.CreateStatusBar()

        menubar = wx.MenuBar()
        menufile = wx.Menu()

        # mnuclear = menufile.Append(wx.ID_CLEAR, '清理过期数据', '清理过期数据')
        mnuimport = menufile.Append(wx.ID_ADD, '导入数据', '导入制定文件格式的数据')
        # mnuabout = menufile.Append(wx.ID_ABOUT, '关于', '关于本程序')
        mnuexit = menufile.Append(wx.ID_EXIT, '退出', '退出程序')

        # TODO 数据整理

        menubar.Append(menufile, '文件')

        self.Bind(wx.EVT_MENU, self.onImport, mnuimport)
        # self.Bind(wx.EVT_MENU, self.onClear, mnuclear)
        # self.Bind(wx.EVT_MENU, self.onAbout, mnuabout)
        self.Bind(wx.EVT_MENU, self.onExit, mnuexit)

        self.SetMenuBar(menubar)

    def setupPanel(self):

        nb = wx.Notebook(self)
        self.buyerPanel = BuyerPanel(nb)
        nb.AddPage(self.buyerPanel, "玩家统计")
        nb.AddPage(SellerPanel(nb), '庄家统计', select=True)

    def onAbout(self, evt):
        '''点击about的事件响应'''
        dlg = wx.MessageDialog(self, 'This app is a simple text editor', '关于', wx.OK)
        dlg.ShowModal()
        dlg.Destroy()

    def onExit(self, evt):
        '''点击退出'''
        self.Close(True)

    def onImport(self, evt):
        dialog = wx.FileDialog(self, "选择要导入的数据文件", os.getcwd(), style=wx.OPEN, wildcard="*.txt")
        if dialog.ShowModal() == wx.ID_OK:
            self.onFileRead(dialog.GetPath())
            # self.SetTitle(self.filename)
        dialog.Destroy()

    def onFileRead(self, filePath):
        if filePath:
            try:
                lines = DailyDataDAL.readAll(filePath)
                dailyData = DailyDataDAL.parse(lines, TimeUtil.getToday())
                DailyDataDAL.persistAll(dailyData)

                newDailyData = DailyDataDAL.fetchAllByDate(TimeUtil.getToday())
                self.buyerPanel.updateGrid(newDailyData.toStringList())

                wx.MessageBox("导入数据成功", "导入数据", style=wx.OK | wx.ICON_EXCLAMATION)
            except:
                wx.MessageBox("导入数据失败,请检测数据格式", "导入数据", style=wx.OK | wx.ICON_EXCLAMATION)

    def onClear(self, evt):
        pass