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端口扫描系统实现方法
Nov 19 Python
python相似模块用例
Mar 04 Python
Django实现组合搜索的方法示例
Jan 23 Python
Python基于多线程实现抓取数据存入数据库的方法
Jun 22 Python
pycharm 配置远程解释器的方法
Oct 28 Python
Python使用python-docx读写word文档
Aug 26 Python
Python Django 前后端分离 API的方法
Aug 28 Python
python中的Elasticsearch操作汇总
Oct 30 Python
python抓取多种类型的页面方法实例
Nov 20 Python
python-web根据元素属性进行定位的方法
Dec 13 Python
Python基于Twilio及腾讯云实现国际国内短信接口
Jun 18 Python
python suds访问webservice服务实现
Jun 26 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新手上路(十一)
2006/10/09 PHP
Optimizer与Debugger兼容性问题的解决方法
2008/12/01 PHP
大家须知简单的php性能优化注意点
2016/01/04 PHP
Laravel Validator 实现两个或多个字段联合索引唯一
2019/05/08 PHP
基于JQuery的密码强度验证代码
2010/03/01 Javascript
基于IE下ul li 互相嵌套时的bug,排查,解决过程以及心得介绍
2013/05/07 Javascript
jQuery实现长文字部分显示代码
2013/05/13 Javascript
javascript原生和jquery库实现iframe自适应高度和宽度
2014/07/18 Javascript
Nodejs初级阶段之express
2015/11/23 NodeJs
easyui window refresh 刷新两次的解决方法(推荐)
2016/05/18 Javascript
JavaScript中的await/async的作用和用法
2016/10/31 Javascript
详解vue嵌套路由-params传递参数
2017/05/23 Javascript
Js实现京东无延迟菜单效果实例(demo)
2017/06/02 Javascript
关于axios不能使用Vue.use()浅析
2018/01/12 Javascript
JS中实现隐藏部分姓名或者电话号码的代码
2018/07/17 Javascript
从零开始实现Vue简单的Toast插件
2018/12/03 Javascript
vue eslint简要配置教程详解
2019/07/26 Javascript
浅谈Vue3 Composition API如何替换Vue Mixins
2020/04/29 Javascript
JavaScript中继承原理与用法实例入门
2020/05/09 Javascript
解决在Vue中使用axios POST请求变成OPTIONS的问题
2020/08/14 Javascript
Vue3.0的优化总结
2020/10/16 Javascript
vue自定义插件封装,实现简易的elementUi的Message和MessageBox的示例
2020/11/20 Vue.js
通过vue.extend实现消息提示弹框的方法记录
2021/01/07 Vue.js
Python3使用requests包抓取并保存网页源码的方法
2016/03/15 Python
Python-嵌套列表list的全面解析
2016/06/08 Python
Fabric 应用案例
2016/08/28 Python
Python3 queue队列模块详细介绍
2018/01/05 Python
python操作redis方法总结
2018/06/06 Python
python SVM 线性分类模型的实现
2019/07/19 Python
基于HTML5的WebGL经典3D虚拟机房漫游动画
2017/11/15 HTML / CSS
英国领先的维生素和补充剂品牌:Higher Nature
2019/08/26 全球购物
品恩科技软件测试面试题
2014/10/26 面试题
十八届三中全会学习方案
2014/02/16 职场文书
新闻学专业求职信
2014/07/28 职场文书
国际残疾人日广播稿范文
2014/10/09 职场文书
小学大队干部竞选稿
2015/11/20 职场文书