加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

wxPython使用系统剪切板的方法

发布时间:2020-12-16 23:50:21 所属栏目:Python 来源:网络整理
导读:本篇章节讲解wxPython使用系统剪切板的方法。供大家参考研究。具体如下: 程序运行效果如下图所示: 主要代码如下: import wx########################################################################class ClipboardPanel(wx.Panel): """""" #-

本篇章节讲解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,wx.ALL,5)
    sizer.Add(self.text,1,wx.EXPAND)
    sizer.Add(copyBtn,wx.ALL|wx.CENTER,5)
    sizer.Add(copyFlushBtn,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程序设计有所帮助。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读