如何用wx python制作一个简单的手表

2024-09-30 06:26:39 发布

您现在位置:Python中文网/ 问答频道 /正文

有人能告诉我,怎样做一个简单的wxpython吗

  import wx
    import time

    class MyFrame(wx.Frame):
        """ We simply derive a new class of Frame. """
        def __init__(self, parent, title):
            wx.Frame.__init__(self, parent, title=title, size=(200,100))
            self.control = wx.TextCtrl(self, style=wx.TE_MULTILINE)
            self.Show(True)

    app = wx.App(False)
    frame = MyFrame(None, 'Small editor')

app.MainLoop()

我在想,我现在该如何获取日期时间并将其显示在相框中


Tags: importselfapptimetitleinitwxpythonframe
3条回答

"I'm wondering how may I take datetime at the moment and show it in a frame"

使用time模块获取系统时间:

import time
time.strftime('%d %m %Y')

例如如何访问此模块。现在在Python解释器中,尝试help(time)并阅读不同时区命令和格式化命令,以获得所需的值。在

如果您希望在GUI中/内部显示日期时间(以数字形式,而不是时钟格式),则可以使用wx.DateTime.Now()功能。阅读wxPython文档here中的更多详细信息。您可以输入以下内容:

now = wx.DateTime.Now()
timecheckText = wx.StaticText(panel, -1, "Sample sentence here:\t%s\n"%(now.Format("%c", wx.DateTime.PST)), (3,30))


它的作用是在wx.StaticText文件函数并在启动后打印当前的日、月、年、时间和时区。另外,不需要“导入日期时间”,只需“导入wx”。在

你看过wxPython演示了吗。有几个小部件你应该看看。一种是模拟时钟。真的很整洁。然后是LEDNumberCtrl。这里有一个演示,显示了实时更新的当前时间。在

如果需要显示日期,请尝试DatePickerCtrl

更新:下面是一个代码示例:

import wx

########################################################################
class MyPanel(wx.Panel):
    """"""

    #                                   
    def __init__(self, parent):
        """Constructor"""
        wx.Panel.__init__(self, parent)

        sizer = wx.BoxSizer(wx.VERTICAL)
        self.SetSizer(sizer)

        dpc = wx.DatePickerCtrl(self, size=(120,-1),
                                style = wx.DP_DROPDOWN
                                      | wx.DP_SHOWCENTURY
                                      | wx.DP_ALLOWNONE )
        self.Bind(wx.EVT_DATE_CHANGED, self.OnDateChanged, dpc)
        sizer.Add(dpc, 0, wx.ALL, 50)

        # In some cases the widget used above will be a native date
        # picker, so show the generic one too.            
        dpc = wx.GenericDatePickerCtrl(self, size=(120,-1),
                                       style = wx.TAB_TRAVERSAL
                                       | wx.DP_DROPDOWN
                                       | wx.DP_SHOWCENTURY
                                       | wx.DP_ALLOWNONE )
        self.Bind(wx.EVT_DATE_CHANGED, self.OnDateChanged, dpc)
        sizer.Add(dpc, 0, wx.LEFT, 50)


    def OnDateChanged(self, evt):
        print "OnDateChanged: %s\n" % evt.GetDate()

########################################################################
class MyFrame(wx.Frame):
    """"""

    #                                   
    def __init__(self):
        """Constructor"""
        wx.Frame.__init__(self, parent=None, title="DatePickers")
        panel = MyPanel(self)
        self.Show()

#                                   
if __name__ == "__main__":
    app = wx.App(False)
    frame = MyFrame()
    app.MainLoop()

相关问题 更多 >

    热门问题