网络编程
位置:首页>> 网络编程>> Python编程>> wxPython使用系统剪切板的方法

wxPython使用系统剪切板的方法

作者:红薯  发布时间:2023-04-01 14:38:29 

标签:wxPython,系统,剪切板

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

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

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程序设计有所帮助。

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com