使用wxPython获取系统剪贴板中的数据的教程

 更新时间:2015年05月06日 12:07:37   投稿:goldensun  
这篇文章主要介绍了使用wxPython获取系统剪贴板中的数据的教程,wxPython是一个非常受欢迎的Python图形库,需要的朋友可以参考下

涉及到开发桌面程序,尤其是文本处理,剪贴板就很常用,不像 java 中那么烦锁,wxpython 中访问剪贴板非常简单,寥寥几句足以。

# 取得剪贴板并确保其为打开状态
text_obj = wx.TextDataObject()
wx.TheClipboard.Open()
if wx.TheClipboard.IsOpened() or wx.TheClipboard.Open():
  # do something...
  wx.TheClipboard.Close()

取值:

if wx.TheClipboard.GetData(text_obj):
  text = text_obj.GetText()

写值:

text_obj.SetText(‘要写入的值')
wx.TheClipboard.SetData(text_obj)

下面的例子中,点击 Copy 会将文本框中的值复制到剪贴板,点击 Paste 会将剪贴板中的文本粘贴到文本框中。

"""
Get text from and put text on the clipboard.
"""

import wx

class MyFrame(wx.Frame):
  def __init__(self):
    wx.Frame.__init__(self, None, title='Accessing the clipboard', size=(400, 300))

    # Components
    self.panel = wx.Panel(self)
    self.text = wx.TextCtrl(self.panel, pos=(10, 10), size=(370, 220))
    self.copy = wx.Button(self.panel, wx.ID_ANY, label='Copy', pos=(10, 240))
    self.paste = wx.Button(self.panel, wx.ID_ANY, label='Paste', pos=(100, 240))

    # Event bindings.
    self.Bind(wx.EVT_BUTTON, self.OnCopy, self.copy)
    self.Bind(wx.EVT_BUTTON, self.OnPaste, self.paste)

  def OnCopy(self, event):
    text_obj = wx.TextDataObject()
    text_obj.SetText(self.text.GetValue())
    if wx.TheClipboard.IsOpened() or wx.TheClipboard.Open():
      wx.TheClipboard.SetData(text_obj)
      wx.TheClipboard.Close()

  def OnPaste(self, event):
    text_obj = wx.TextDataObject()
    if wx.TheClipboard.IsOpened() or wx.TheClipboard.Open():
      if wx.TheClipboard.GetData(text_obj):
        self.text.SetValue(text_obj.GetText())
      wx.TheClipboard.Close()

app = wx.App(False)
frame = MyFrame()
frame.Show(True)
app.MainLoop()


相关文章

  • python实现梯度下降和逻辑回归

    python实现梯度下降和逻辑回归

    这篇文章主要为大家详细介绍了python实现梯度下降和逻辑回归,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • Python实现LRU算法的2种方法

    Python实现LRU算法的2种方法

    这篇文章主要介绍了Python实现LRU算法的2种方法,本文分别给出了用OrderedDict实现、用dict+list实现两种方法,需要的朋友可以参考下
    2015-06-06
  • Python中断多重循环的几种方法

    Python中断多重循环的几种方法

    跳出单循环不管是什么编程语言,都有可能会有跳出循环的需求,本文主要介绍了Python中断多重循环的几种方法,具有一定的参考价值,感兴趣的可以了解一下
    2023-11-11
  • 对Python获取屏幕截图的4种方法详解

    对Python获取屏幕截图的4种方法详解

    今天小编就为大家分享一篇对Python获取屏幕截图的4种方法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • python pandas模糊匹配 读取Excel后 获取指定指标的操作

    python pandas模糊匹配 读取Excel后 获取指定指标的操作

    这篇文章主要介绍了python pandas模糊匹配 读取Excel后 获取指定指标的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • Python 弹窗设计小人发射爱心

    Python 弹窗设计小人发射爱心

    今天小编就为大家分享一篇使用Python画出小人发射爱心的代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-09-09
  • 利用python实现JSON文档与Python对象互相转换

    利用python实现JSON文档与Python对象互相转换

    这篇文章主要介绍了利用python实现JSON文档与Python对象互相转换,通过对将一个JSON文档映射为Python对象问题的展开介绍主题内容,需要的朋友可以参考一下
    2022-06-06
  • Python中执行MySQL结果限制和分页查询示例详解

    Python中执行MySQL结果限制和分页查询示例详解

    这篇文章主要为大家介绍了Python中执行MySQL结果限制和分页查询示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • Python3中的真除和Floor除法用法分析

    Python3中的真除和Floor除法用法分析

    这篇文章主要介绍了Python3中的真除和Floor除法用法,结合实例形式分析了真除与Floor除法的区别与使用技巧,需要的朋友可以参考下
    2016-03-03
  • keras中的卷积层&池化层的用法

    keras中的卷积层&池化层的用法

    这篇文章主要介绍了keras中的卷积层&池化层的用法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05

最新评论