1

簡単な 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()

現時点でdatetimeを取得してフレームに表示する方法を考えています

4

3 に答える 3

3

GUI 内/内部で日時を (時計形式ではなく数値として) 表示する場合は、wx.DateTime.Now() 関数を使用できます。詳細については、こちらの wxPython ドキュメントを参照してください。以下を入力できます。

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 関数内に日時を入力し、開始された時点で現在の日、月、年、時刻、およびタイムゾーンを出力することです。また、「datetime をインポート」する必要はなく、「wx をインポート」するだけです。

于 2015-10-08T05:13:04.460 に答える
2

「現時点で日付を取得してフレームに表示するにはどうすればよいのでしょうか」

timeモジュールを使用してシステム時刻を取得します。

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

例として、このモジュールにアクセスする方法。Pythonインタープリターでhelp(time)、さまざまなタイムゾーンコマンドとフォーマットコマンドを読んで、必要な値を取得してください。

于 2012-12-04T09:42:39.767 に答える
1

wxPython のデモを見ましたか。チェックアウトする必要があるウィジェットがいくつかあります。1つはAnalogClockです。それは本当にきちんとしています。次に、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()
于 2012-12-04T14:38:20.750 に答える