本文实例讲述了wxPython使用系统剪切板的方法。分享给大家供大家参考。具体如下:
程序运行效果如下图所示:
主要代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
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程序设计有所帮助。