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统计文件行数示例分享
Feb 21 Python
单利模式及python实现方式详解
Mar 20 Python
用python写扫雷游戏实例代码分享
May 27 Python
Mac下Anaconda的安装和使用教程
Nov 29 Python
pyQT5 实现窗体之间传值的示例
Jun 20 Python
对PyQt5的输入对话框使用(QInputDialog)详解
Jun 25 Python
Python 文件数据读写的具体实现
Jan 24 Python
Python使用PyQt5/PySide2编写一个极简的音乐播放器功能
Feb 07 Python
Python基于进程池实现多进程过程解析
Apr 30 Python
keras的load_model实现加载含有参数的自定义模型
Jun 22 Python
Python如何将字符串转换为日期
Jul 31 Python
Python Socket编程详解
Apr 25 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和XSS跨站攻击的防范
2007/04/17 PHP
php在线代理转向代码
2012/05/05 PHP
利用php获取服务器时间的实现代码
2013/06/07 PHP
PHP创建桌面快捷方式的实例代码
2014/02/17 PHP
php异常处理方法实例汇总
2015/06/24 PHP
精通JavaScript 纠正 cleanWhitespace函数
2010/03/11 Javascript
入门基础学习 ExtJS笔记(一)
2010/11/11 Javascript
基于JQuery的访问WebService的代码(可访问Java[Xfire])
2010/11/19 Javascript
JavaScript设置首页和收藏页面的小例子
2013/11/11 Javascript
JavaScript常用小技巧小结
2014/12/29 Javascript
浅谈javascript中for in 和 for each in的区别
2015/04/23 Javascript
JS构造函数与原型prototype的区别介绍
2016/07/04 Javascript
基于js实现二级下拉联动
2016/12/17 Javascript
canvas压缩图片转换成base64格式输出文件流
2017/03/09 Javascript
webpack3+React 的配置全解
2017/08/21 Javascript
vue使用监听实现全选反选功能
2018/07/06 Javascript
json字符串传到前台input的方法
2018/08/06 Javascript
vue自定义底部导航栏Tabbar的实现代码
2018/09/03 Javascript
js实现课堂随机点名系统
2019/11/21 Javascript
[01:05:24]Ti4 冒泡赛第二天 iG vs NEWBEE 3
2014/07/15 DOTA
简单介绍Python中的len()函数的使用
2015/04/07 Python
python下载图片实现方法(超简单)
2017/07/21 Python
python获取酷狗音乐top500的下载地址 MP3格式
2018/04/17 Python
从django的中间件直接返回请求的方法
2018/05/30 Python
python logging模块的使用总结
2019/07/09 Python
Python字符串中添加、插入特定字符的方法
2019/09/10 Python
Python上下文管理器类和上下文管理器装饰器contextmanager用法实例分析
2019/11/07 Python
Python 如何批量更新已安装的库
2020/05/26 Python
如何使用css3实现一个类在线直播的队列动画的示例代码
2020/06/17 HTML / CSS
美国标志性加大尺码时装品牌:Ashley Stewart
2016/12/15 全球购物
伦敦眼门票在线预订:London Eye
2018/05/31 全球购物
HEMA英国:荷兰原创设计
2018/08/28 全球购物
大学生怎样写好自荐信
2014/02/25 职场文书
教学改革实施方案
2014/03/31 职场文书
2014银行领导班子群众路线对照检查材料思想汇报
2014/09/17 职场文书
MySQL快速插入一亿测试数据
2021/06/23 MySQL