首页 > 编程 > Python > 正文

wxPython使用系统剪切板的方法

2020-02-23 01:36:46
字体:
来源:转载
供稿:网友

本文实例讲述了wxPython使用系统剪切板的方法。分享给大家供大家参考。具体如下:

程序运行效果如下图所示:

主要代码如下:

import wx########################################################################class ClipboardPanel(wx.Panel):  """"""  #----------------------------------------------------------------------  def __init__(self, parent):    """Constructor"""    wx.Panel.__init__(self, parent)    lbl = wx.StaticText(self, label="Enter text to copy to clipboard:")    self.text = wx.TextCtrl(self, style=wx.TE_MULTILINE)    copyBtn = wx.Button(self, label="Copy")    copyBtn.Bind(wx.EVT_BUTTON, self.onCopy)    copyFlushBtn = wx.Button(self, label="Copy and Flush")    copyFlushBtn.Bind(wx.EVT_BUTTON, self.onCopyAndFlush)    sizer = wx.BoxSizer(wx.VERTICAL)    sizer.Add(lbl, 0, wx.ALL, 5)    sizer.Add(self.text, 1, wx.EXPAND)    sizer.Add(copyBtn, 0, wx.ALL|wx.CENTER, 5)    sizer.Add(copyFlushBtn, 0, wx.ALL|wx.CENTER, 5)    self.SetSizer(sizer)  #----------------------------------------------------------------------  def onCopy(self, event):    """"""    self.dataObj = wx.TextDataObject()    self.dataObj.SetText(self.text.GetValue())    if wx.TheClipboard.Open():      wx.TheClipboard.SetData(self.dataObj)      wx.TheClipboard.Close()    else:      wx.MessageBox("Unable to open the clipboard", "Error")  #----------------------------------------------------------------------  def onCopyAndFlush(self, event):    """"""    self.dataObj = wx.TextDataObject()    self.dataObj.SetText(self.text.GetValue())    if wx.TheClipboard.Open():      wx.TheClipboard.SetData(self.dataObj)      wx.TheClipboard.Flush()    else:      wx.MessageBox("Unable to open the clipboard", "Error")    self.GetParent().Close()########################################################################class ClipboardFrame(wx.Frame):  """"""  #----------------------------------------------------------------------  def __init__(self):    """Constructor"""    wx.Frame.__init__(self, None, title="Clipboard Tutorial")    panel = ClipboardPanel(self)    self.Show()if __name__ == "__main__":  app = wx.App(False)  frame = ClipboardFrame()  app.MainLoop()

希望本文所述对大家的Python程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表