2016-03-10 41 views
0

我對python非常陌生,我在sqlite中創建了一個數據庫,用於記錄文件從一個文件夾複製到另一個文件的時間。我試圖讓我的圖形用戶界面顯示「上次傳輸的文件:____」,並填寫上次記錄的日期。我能夠打印最後一個記錄,此代碼:從數據庫打印關於gui的數據python

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 

它打印:在我的GUI(這是在不同的文件)

2016-03-09 17:53:02.537000 

我:

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

我想以便能夠在「上次傳輸的文件:」之後放置該日期,以便在最後一條記錄更改時進行更改。

+0

嘗試'打印LASTROW [0] [0]'。如果你希望我們用你的GUI來幫助你,你將需要向我們展示代碼。 – wpercy

+0

謝謝,把它放在它現在打印'2016-03-09 17:53:02.537000' –

+0

你需要將StaticText分配給一個變量,然後你可以說'st.SetLabel('new_text')' 。如果這會增加長度,請不要忘記也要對Layout()進行佈局。 –

回答

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()