我相信这对你们很多人来说是一个nobrainer,但我发现自己真的很困惑整个datetime.timedelta的事情.基本上我在开始时startTime加上一些东西,然后我给这个过程结束时间戳endTime,我正试图在HH中找到差异:MM:SS并且没有运气.
打印时出现此错误endTime - startTime:
TypeError: unsupported operand type(s) for -: 'datetime.time' and 'datetime.time'
Run Code Online (Sandbox Code Playgroud)
编辑包括最终结果:
startTime = datetime.now()
<... my looping process ...>
endTime = datetime.now()
calcdTime = endTime - startTime
print str(calcdTime)[:-4]
Run Code Online (Sandbox Code Playgroud)
输出到:H:MM:SS.MM(从而剥离最后4个字符 timedelta
无论如何禁用笔记本标签?就像你可以使用Widgets本身一样?我有一个漫长的过程,虽然对于那些看着它的人来说应该是非常明显的,但我希望能够防止用户在其他标签中乱窜,直到它运行的过程完成.
我似乎无法找到任何wx.Notebook帮助这个?
代码段:
def __init__(self, parent):
wx.Notebook.__init__(self, parent, id=wx.ID_ANY, style=wx.BK_DEFAULT)
self.AddPage(launchTab.LaunchPanel(self), "Launch")
self.AddPage(scanTab.ScanPanel(self), "Scan")
self.AddPage(extractTab.ExtractPanel(self), "Extract")
self.AddPage(virtualsTab.VirtualsPanel(self), "Virtuals")
Run Code Online (Sandbox Code Playgroud) 我相信这对你们来说很容易,但我很难找到解决方案......
我有一个框架,由一堆导入的文件构成,以构建一个笔记本...类似于:
class myFrame(wx.Frame):
"""
Frame that holds all other widgets
"""
#----------------------------------------------------------------------
def __init__(self):
"""Constructor"""
wx.Frame.__init__(self, None, wx.ID_ANY, "My Frame", size=(520,635))
panel = wx.Panel(self)
notebook = myFrameNotebook(panel)
sizer = wx.BoxSizer(wx.VERTICAL)
sizer.Add(notebook, 1, wx.ALL|wx.EXPAND, 5)
panel.SetSizer(sizer)
self.CreateStatusBar(style=0)
self.SetStatusText("Welcome to My Frame...")
self.Layout()
self.Show()
self.Centre()
Run Code Online (Sandbox Code Playgroud)
我想,从笔记本的各个页面内更改整个框架的状态文本...如果以上称为myFile,是否有办法SetStatusText从单独的笔记本页面(存储在单独的文件中) ?)
我想做的是,当你从笔记本页面移动到笔记本页面时,状态栏会反映你当前在应用程序中的位置......?
非常感谢,
周(对wxPython来说还是新手)