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实现控制台输入密码的方法
May 29 Python
python追加元素到列表的方法
Jul 28 Python
深入解答关于Python的11道基本面试题
Apr 01 Python
机器学习python实战之决策树
Nov 01 Python
python实现隐马尔科夫模型HMM
Mar 25 Python
python使用pandas处理大数据节省内存技巧(推荐)
May 05 Python
django的分页器Paginator 从django中导入类
Jul 25 Python
Django框架model模型对象验证实现方法分析
Oct 02 Python
Tkinter中复选菜单是否被选中的判断与设置方式
Mar 04 Python
Python matplotlib画图时图例说明(legend)放到图像外侧详解
May 16 Python
PyQt5实现仿QQ贴边隐藏功能的实例代码
May 24 Python
python图片验证码识别最新模块muggle_ocr的示例代码
Jul 03 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静态文件生成类实例分析
2015/01/03 PHP
php通过header发送自定义数据方法
2018/01/18 PHP
PHP添加文字水印或图片水印的水印类完整源代码与使用示例
2019/03/18 PHP
PHP实现二维数组按照指定的字段进行排序算法示例
2019/04/23 PHP
总结AJAX相关JS代码片段和浏览器模型
2007/08/15 Javascript
推荐10个超棒的jQuery工具提示插件
2011/10/11 Javascript
JS删除数组元素的函数介绍
2013/03/27 Javascript
checkbox使用示例
2013/08/23 Javascript
顶部缓冲下拉菜单导航特效的JS代码
2013/08/27 Javascript
js去除空格的12种实用方法
2013/11/08 Javascript
jQuery绑定事件不执行但alert后可以正常执行
2014/06/03 Javascript
JavaScript中获取HTML元素值的三种方法
2016/06/20 Javascript
JS常用正则表达式总结【经典】
2017/05/12 Javascript
改变vue请求过来的数据中的某一项值的方法(详解)
2018/03/08 Javascript
JavaScript的Object.defineProperty详解
2018/07/09 Javascript
Electron-vue开发的客户端支付收款工具的实现
2019/05/24 Javascript
vue在路由中验证token是否存在的简单实现
2019/11/11 Javascript
three.js利用gpu选取物体并计算交点位置的方法示例
2019/11/25 Javascript
Vue.js实现可编辑的表格
2019/12/11 Javascript
[03:42]2018完美盛典-《加冕》
2018/12/16 DOTA
python使用分治法实现求解最大值的方法
2015/05/12 Python
Python基于递归算法实现的走迷宫问题
2017/08/04 Python
java中两个byte数组实现合并的示例
2018/05/09 Python
pytorch 自定义数据集加载方法
2019/08/18 Python
自定义实现 PyQt5 下拉复选框 ComboCheckBox的完整代码
2020/03/30 Python
Python requests及aiohttp速度对比代码实例
2020/07/16 Python
使用before和:after伪类制作css3圆形按钮
2014/04/08 HTML / CSS
css3实现顶部社会化分享按钮示例
2014/05/06 HTML / CSS
英国可持续奢侈品包包品牌:Elvis & Kresse
2018/08/05 全球购物
2014年文明创建工作总结
2014/11/25 职场文书
教师听课评语大全
2014/12/31 职场文书
行政主管岗位职责
2015/02/03 职场文书
初中班主任教育随笔
2015/08/15 职场文书
创业计划书之农家乐
2019/10/09 职场文书
Win10/Win11 任务栏替换成经典样式
2022/04/19 数码科技
解决Python保存文件名太长OSError: [Errno 36] File name too long
2022/05/11 Python