wxPython使用系统剪切板的方法


Posted in Python onJune 16, 2015

本文实例讲述了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程序设计有所帮助。

Python 相关文章推荐
python框架django基础指南
Sep 08 Python
详解Python多线程
Nov 14 Python
Python搭建HTTP服务器和FTP服务器
Mar 09 Python
python爬虫入门教程--快速理解HTTP协议(一)
May 25 Python
python自动化脚本安装指定版本python环境详解
Sep 14 Python
对python中Json与object转化的方法详解
Dec 31 Python
计算机二级python学习教程(1) 教大家如何学习python
May 16 Python
利用python实现短信和电话提醒功能的例子
Aug 08 Python
python如何保证输入键入数字的方法
Aug 23 Python
如何在windows下安装Pycham2020软件(方法步骤详解)
May 03 Python
python爬虫要用到的库总结
Jul 28 Python
Python机器学习三大件之一numpy
May 10 Python
Python读取键盘输入的2种方法
Jun 16 #Python
Python本地与全局命名空间用法实例
Jun 16 #Python
Python实现简单HTML表格解析的方法
Jun 15 #Python
Python判断Abundant Number的方法
Jun 15 #Python
Python计算一个文件里字数的方法
Jun 15 #Python
Python素数检测实例分析
Jun 15 #Python
Python计算三维矢量幅度的方法
Jun 15 #Python
You might like
php存储过程调用实例代码
2013/02/03 PHP
php把数据表导出为Excel表的最简单、最快的方法(不用插件)
2014/05/10 PHP
PHP延迟静态绑定示例分享
2014/06/22 PHP
php简单实现发送带附件的邮件
2015/06/10 PHP
php实现支持中文的文件下载功能示例
2017/08/30 PHP
datePicker——日期选择控件(with jquery)
2007/02/20 Javascript
jquery显示和隐藏div特效实例
2013/02/27 Javascript
js实现上传图片及时预览
2016/05/07 Javascript
JS弹出新窗口被拦截的解决方法
2016/08/09 Javascript
javascript 注释代码的几种方法总结
2017/01/04 Javascript
用Vue.extend构建消息提示组件的方法实例
2017/08/08 Javascript
基于iScroll实现内容滚动效果
2018/03/21 Javascript
详解超简单的react服务器渲染(ssr)入坑指南
2019/02/28 Javascript
MockJs结合json-server模拟后台数据
2020/08/26 Javascript
React Native 混合开发多入口加载方式详解
2019/09/23 Javascript
JS数组扁平化、去重、排序操作实例详解
2020/02/24 Javascript
Vue 实现v-for循环的时候更改 class的样式名称
2020/07/17 Javascript
微信小程序连续签到7天积分获得功能的示例代码
2020/08/20 Javascript
解决vue-loader加载不上的问题
2020/10/21 Javascript
python求素数示例分享
2014/02/16 Python
python获取远程图片大小和尺寸的方法
2015/03/26 Python
如何利用python制作时间戳转换工具详解
2018/09/12 Python
用pycharm开发django项目示例代码
2019/06/13 Python
Python中请不要再用re.compile了
2019/06/30 Python
Python对接六大主流数据库(只需三步)
2019/07/31 Python
python 使用shutil复制图片的例子
2019/12/13 Python
Django REST framwork的权限验证实例
2020/04/02 Python
高校生生产实习自我鉴定
2013/09/21 职场文书
业务经理岗位职责
2013/11/11 职场文书
安全生产检查通报
2014/01/29 职场文书
诉讼代理人授权委托书
2014/10/11 职场文书
开业典礼致辞
2015/07/29 职场文书
受欢迎的自荐信,就这么写!
2019/04/19 职场文书
五年级作文之劳动作文
2019/11/12 职场文书
Flutter Navigator 实现路由传递参数
2022/04/22 Java/Android
volatile保证可见性及重排序方法
2022/08/05 Java/Android