clipboard.py

来自「wxPython的基本示例程序」· Python 代码 · 共 78 行

PY
78
字号
import wxt1_text = """\The whole contents of this controlwill be placed in the system'sclipboard when you click the copybutton below."""t2_text = """\If the clipboard contains a textdata object then it will be placedin this control when you clickthe paste button below.  Trycopying to and pasting fromother applications too!"""class MyFrame(wx.Frame):    def __init__(self):        wx.Frame.__init__(self, None, title="Clipboard",                          size=(500,300))        p = wx.Panel(self)        # create the controls        self.t1 = wx.TextCtrl(p, -1, t1_text,                              style=wx.TE_MULTILINE|wx.HSCROLL)        self.t2 = wx.TextCtrl(p, -1, t2_text,                              style=wx.TE_MULTILINE|wx.HSCROLL)        copy = wx.Button(p, -1, "Copy")        paste = wx.Button(p, -1, "Paste")        # setup the layout with sizers        fgs = wx.FlexGridSizer(2, 2, 5, 5)        fgs.AddGrowableRow(0)        fgs.AddGrowableCol(0)        fgs.AddGrowableCol(1)        fgs.Add(self.t1, 0, wx.EXPAND)        fgs.Add(self.t2, 0, wx.EXPAND)        fgs.Add(copy, 0, wx.EXPAND)        fgs.Add(paste, 0, wx.EXPAND)        border = wx.BoxSizer()        border.Add(fgs, 1, wx.EXPAND|wx.ALL, 5)        p.SetSizer(border)        # Bind events        self.Bind(wx.EVT_BUTTON, self.OnDoCopy, copy)        self.Bind(wx.EVT_BUTTON, self.OnDoPaste, paste)    def OnDoCopy(self, evt):        data = wx.TextDataObject()        data.SetText(self.t1.GetValue())        if wx.TheClipboard.Open():            wx.TheClipboard.SetData(data)            wx.TheClipboard.Close()        else:            wx.MessageBox("Unable to open the clipboard", "Error")    def OnDoPaste(self, evt):        success = False        data = wx.TextDataObject()        if wx.TheClipboard.Open():            success = wx.TheClipboard.GetData(data)            wx.TheClipboard.Close()        if success:            self.t2.SetValue(data.GetText())        else:            wx.MessageBox(                "There is no data in the clipboard in the required format",                "Error")    app = wx.PySimpleApp()frm = MyFrame()frm.Show()app.MainLoop()

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?