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解决字典中的值是列表问题的方法
Mar 04 Python
python发送邮件示例(支持中文邮件标题)
Feb 16 Python
python如何查看系统网络流量的信息
Sep 12 Python
Linux RedHat下安装Python2.7开发环境
May 20 Python
高质量Python代码编写的5个优化技巧
Nov 16 Python
Python字节单位转换实例
Dec 05 Python
Python 日期时间datetime 加一天,减一天,加减一小时一分钟,加减一年
Apr 16 Python
Python正则表达式如何匹配中文
May 27 Python
Pytorch 卷积中的 Input Shape用法
Jun 29 Python
tensorflow 动态获取 BatchSzie 的大小实例
Jun 30 Python
Python自动化之UnitTest框架实战记录
Sep 08 Python
关于pytest结合csv模块实现csv格式的数据驱动问题
May 30 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
MYSQL数据库初学者使用指南
2006/11/16 PHP
一步一步学习PHP(7) php 字符串相关应用
2010/03/05 PHP
重新认识php array_merge函数
2014/08/31 PHP
PHP实现Javascript中的escape及unescape函数代码分享
2015/02/10 PHP
详解Yii2高级版引入bootstrap.js的一个办法
2017/03/21 PHP
thinkphp框架无限级栏目的排序功能实现方法示例
2020/03/29 PHP
基于jquery的tab切换 js原理
2010/04/01 Javascript
js调用浏览器打印模块实现点击按钮触发自定义函数
2014/03/21 Javascript
jQuery prototype冲突的2种解决方法(附demo示例下载)
2016/01/21 Javascript
jQuery中iframe的操作(点击按钮新增窗口)
2016/04/20 Javascript
jQuery Dialog对话框事件用法实例分析
2016/05/10 Javascript
JavaScript操作选择对象的简单实例
2016/05/16 Javascript
非常酷炫的Bootstrap图片轮播动画
2016/05/27 Javascript
利用jQuery实现打字机字幕效果实例代码
2016/09/02 Javascript
Jquery给当前页或者跳转后页面的导航栏添加选中后样式的实例
2016/12/08 Javascript
jQuery图片切换动画效果
2017/02/28 Javascript
bootstrap daterangepicker双日历时间段选择控件详解
2017/06/15 Javascript
jQuery实现文件编码成base64并通过AJAX上传的方法
2018/04/12 jQuery
layui.use模块外部使用其内部定义的js封装函数方法
2019/09/16 Javascript
基于Electron实现桌面应用开发代码实例
2020/07/07 Javascript
vue+iview实现文件上传
2020/11/17 Vue.js
python实现文件名批量替换和内容替换
2014/03/20 Python
python使用itchat实现手机控制电脑
2018/02/22 Python
Django 使用logging打印日志的实例
2018/04/28 Python
python pandas消除空值和空格以及 Nan数据替换方法
2018/10/30 Python
python 定时器,实现每天凌晨3点执行的方法
2019/02/20 Python
python多进程读图提取特征存npy
2019/05/21 Python
Python urlopen()和urlretrieve()用法解析
2020/01/07 Python
关于python pycharm中输出的内容不全的解决办法
2020/01/10 Python
Keras中的两种模型:Sequential和Model用法
2020/06/27 Python
关于tensorflow softmax函数用法解析
2020/06/30 Python
如何利用Python写个坦克大战
2020/11/18 Python
html5利用canvas绘画二级树形结构图的示例
2017/09/27 HTML / CSS
新婚姻法离婚协议书范文
2014/11/30 职场文书
python删除csv文件的行列
2021/04/06 Python
详解如何使用Nginx解决跨域问题
2022/05/06 Servers