从数据库python打印gui上的数据

时间:2016-03-10 19:59:49

标签: python sqlite wxpython

我是python的新手,我在sqlite中创建了一个数据库,记录文件从一个文件夹复制到另一个文件夹的时间。我试图让我的GUI说“文件最后转移:____”并填写记录的最后日期的空白。我能用这段代码打印最后一条记录:

def lastInsert():
   sql_str = "SELECT DATETIMES from TRANSFER_TIMES ORDER BY ID DESC LIMIT 1;"
   cursor = conn.execute(sql_str)
   lastrow = cursor.fetchall()
   print lastrow

打印:

[(u'2016-03-09 17:53:02.537000',)]

但我不能为我的生活弄清楚如何获得时间戳来填补我的GUI上的空白。我正在使用wxpython。如果我能从unicode中取出它也会很棒。

好的,现在我有了

def lastInsert():
sql_str = "SELECT DATETIMES from TRANSFER_TIMES ORDER BY ID DESC LIMIT 1;"
cursor = conn.execute(sql_str)
lastrow = cursor.fetchall()
lr= lastrow[0][0]
print lr

打印:

2016-03-09 17:53:02.537000

在我的GUI(在不同的文件中)我有:

wx.StaticText(panel, -1, "Files Last Transferred on: " , pos=(10, 130))

我希望能够在“上次传输的文件:”之后输入该日期,以便在最后一条记录发生变化时更改日期。

1 个答案:

答案 0 :(得分:0)

以下是一个如何操作的简单示例,其变量定义为StaticText

import wx
class MyFrame(wx.Frame):
    def __init__(self):
        self.my_date = "2016-03-09 17:53:02.537000"
        wx.Frame.__init__(self, None, -1, 'StaticText Example', size=(400, 100))
        panel = wx.Panel(self, -1)
        self.text = wx.StaticText(panel, -1, "Files Last Transferred on: " , pos=(10, 130))
        self.button = wx.Button(panel, -1, "Set Date", pos=(50, 20))
        self.Bind(wx.EVT_BUTTON, self.OnClick, self.button)
        MySizer = wx.BoxSizer(wx.VERTICAL)
        MySizer.Add(self.text, flag=wx.ALL, border=10)
        MySizer.Add(self.button, flag=wx.ALL, border=10)
        panel.SetSizer(MySizer)
    def OnClick(self, event):
        self.text.SetLabel("Files Last Transferred on: "+self.my_date)
if __name__ == '__main__':
    app = wx.App()
    frame = MyFrame()
    frame.Show()
    app.MainLoop()