wxpython怎么让二维码失效键盘输入失效

wxPython学习手册pdf下载_爱问共享资料
wxPython学习手册.pdf
wxPython学习手册.pdf
wxPython学习手册.pdf
简介:本文档为《wxPython学习手册pdf》,可适用于高等教育领域,主题内容包含wxPython in Action译文laongerTextBox本书由HarriPasanen和RobinDunn所著由滴水(wwwpython符等。
侵权或盗版
*若权利人发现爱问平台上用户上传内容侵犯了其作品的信息网络传播权等合法权益时,请按照平台要求书面通知爱问!
赌博犯罪类
在此可输入您对该资料的评论~
添加成功至
资料评价:wxpython界面按钮 在处理IOError异常之后失效
[问题点数:30分,结帖人xiaokang007]
wxpython界面按钮 在处理IOError异常之后失效
[问题点数:30分,结帖人xiaokang007]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2012年1月 其他开发语言大版内专家分月排行榜第二2011年5月 其他开发语言大版内专家分月排行榜第二2010年12月 其他开发语言大版内专家分月排行榜第二2009年2月 其他开发语言大版内专家分月排行榜第二2008年9月 其他开发语言大版内专家分月排行榜第二2008年8月 其他开发语言大版内专家分月排行榜第二2008年5月 其他开发语言大版内专家分月排行榜第二2007年11月 其他开发语言大版内专家分月排行榜第二
2011年4月 其他开发语言大版内专家分月排行榜第三2011年1月 其他开发语言大版内专家分月排行榜第三2009年6月 其他开发语言大版内专家分月排行榜第三2009年4月 其他开发语言大版内专家分月排行榜第三2009年1月 其他开发语言大版内专家分月排行榜第三2008年11月 其他开发语言大版内专家分月排行榜第三2008年7月 其他开发语言大版内专家分月排行榜第三2008年6月 其他开发语言大版内专家分月排行榜第三2006年9月 其他开发语言大版内专家分月排行榜第三
2010年6月 其他开发语言大版内专家分月排行榜第三2009年9月 C/C++大版内专家分月排行榜第三
匿名用户不能发表回复!|博客分类:
# -*- coding: utf-8 -*-
import hashlib
#编辑器主类
记录:menu:Menu
Dialog: MessageDialog,MultiChoiceDialog,NumberEntryDialog,PasswordEntryDialog,PrintDialog,ProgressDialog,SingleChoiceDialog,TextEntryDialog,
FileDialog,FindReplaceDialog,FontDialog
StaticText
设置style=wx.TE_PASSWORD,可以让wx.TextCtrl变成密码输入框。
设置style=wx.TE_READONLY,可以让wx.TextCtrl变成只读输入框。
如果文字过长,wx.TE_DONTWRAP设置强制不换行,wx.TE_LINEWRAP以字符为界断行,wx.TE_WORDWRAP以单词为界断行。
wx.TextCtrl可以响应wx.EVT_TEXT事件,当输入的内容有变化时即可触发此事件。无论是用户输入引起的变化,还是通过setValue()引起的变化都会触发
在wxPython中加速器是一个更加典型的键盘快捷方式,它意味能够随时调用的按键组合,这些按键组合直接触发菜单项。加速器可以用两种方法创建。最简单的方法是,在菜单或菜单项的显示文本中包括加速器按键组合(当菜单或菜单项被添加到其父中时)。实现的方法是,在你的菜单项的文本后放置一个\t。在\t之后定义组合键。组合键的第一部分是一个或多个Alt, Ctrl, 或Shift,由一个+或一个-分隔,随后是实际的加速器按键。例如:New\tctrl-n, SaveAs\tctrl-shift-s。即使在第一部分你只有一个专用的键,你仍可使用+或-来将该部分与实际的按键分隔。这不区分按键组合的大小写。
实际的键可以是任何数字、字母或功能键(如F1~F12),还有表10.6所列出的专用词。
wxPython的方法在通过名字查找一个菜单或菜单项时忽略助记符和加速器。换句话说,对menubar.FindMenuItem("File", "SaveAs")的调用将仍匹配Save as菜单项,即使菜单项的显示名是以Save \tctrl-shift-s形式输入的。
加速器也可能使用加速器表被直接创建,加速器表是类wx.AccleratorTable的一个实例。一个加速器表由wx.AccelratorEntry对象的一个列表组成。wx.AcceleratorTable的构造函数要求一个加速器项的列表,或不带参数。在例10.6中,我们利用了wxPython将隐式使用参数(wx.ACCEL_CTRL, od('Q'),exit.GetId())调用wx.AcceleratorEntry构造函数的事实。wx.AcceleratorEntry的构造函数如下:
wx.AcceleratorEntry(flags, keyCode, cmd)
flags参数是一个使用了一个或多个下列常量的位掩码:wx.ACCEL_ALT, wx.ACCEL_CTRL, wxACCEL_NORMAL , 或wx.ACCEL_SHIFT。该参数表明哪个控制键需要被按下来触发该加速器。keyCode参数代表按下来触发加速器的常规键,它是对应于一个字符的ASCII数字,或在wxWidgets文本中的Keycodes下的一个专用字符。cmd参数是菜单项的wxPython标识符,该菜单项当加速器被调用时触发其命令事件。正如你从例10.6所能看到的,使用这种方法声明一个加速器,不会在这个带菜单项显示名的菜单上列出组合键。你仍需要单独实现它。
@Author xiaoshuang
@Version 0.1
class NotBookMainFrame(wx.Frame):
def __init__(self,parent,title):
wx.Frame.__init__(self,parent,title=title)
self.tb = self.CreateToolBar()
self.control = wx.TextCtrl(self,style=wx.TE_MULTILINE|wx.TE_LINEWRAP,size=(300,500))
#self.control.Bind(wx.EVT_CHAR, self.OnKeyDown)
# 创建一个状态bar,在window的最下端
self.sbar = self.CreateStatusBar()
# 创建菜单栏
= self.createMenuBar()
# set menuBar of app
self.SetMenuBar(menuB)
acceltbl = wx.AcceleratorTable([(wx.ACCEL_CTRL, ord('Q'), self.selectA.GetId())])
self.SetAcceleratorTable(acceltbl)
#frame show
self.Show(True)
def createMenuBar(self):
#Append(self, id, text, help, kind)
fileM = wx.Menu()
newF = fileM.Append(wx.NewId(),"新建(N)\tCtrl+N","打开一个已存在的文件.")
fmitem = fileM.Append(wx.NewId(),"打开(O)\tCtrl+O","打开一个已存在的文件.")
save = fileM.Append(wx.NewId(),
"保存(S)\tCtrl+S","保存当前的文件.")
toSave = fileM.Append(wx.NewId(),"另存为(A)..","保存当前的文件.")
fileM.AppendSeparator()
fileM.Append(wx.NewId(),"页面设置(U)..","设置页面格式.")
printL = fileM.Append(wx.NewId(),"打印(P)\tCtrl+P","打印页面.")
fileM.AppendSeparator()
qit = fileM.Append(wx.NewId(),"退出(X)","关闭所有打开的文件.")
#Bind(self,id,event function,obj)
self.Bind(wx.EVT_MENU, self.OnNewFile, newF)
self.Bind(wx.EVT_MENU, self.OnOpen, fmitem)
self.Bind(wx.EVT_MENU, self.OnSave, save)
self.Bind(wx.EVT_MENU, self.OnQuit, qit)
editM = wx.Menu()
editM.Append(wx.NewId(),"撤消(U)\tCtrl+Z","撤销最后的操作.")
editM.AppendSeparator()
editM.Append(wx.NewId(),"剪切(U)\tCtrl+X","剪切.")
editM.Append(wx.NewId(),"复制(T)\tCtrl+C","复制.")
editM.Append(wx.NewId(),"粘贴(C)\tCtrl+V","粘贴.")
editM.Append(wx.NewId(),"删除(P)\tDel","删除.")
editM.AppendSeparator()
editM.Append(wx.NewId(),"查找(F)\tCtrl+F","查找.")
editM.Append(wx.NewId(),"查找下一个(N)\tF3","查找下一个.")
editM.Append(wx.NewId(),"删除(P)\tDel","删除.")
editM.Append(wx.NewId(),"替换(R)\tCtrl+H","替换.")
editM.Append(wx.NewId(),"转到(G)\tCtrl+G","转到.")
editM.AppendSeparator()
self.selectA = editM.Append(wx.NewId(),"全选(A)\tCtrl+A","全选.")
self.Bind(wx.EVT_MENU, self.OnSelectAll, self.selectA)
editM.Append(wx.NewId(),"时间/日期(D)\tF5","时间.")
posM = wx.Menu()
self.autoCutoverLine = self.newline = posM.Append(wx.NewId(),"自动换行(W)","自动换行.",kind=wx.ITEM_CHECK)
self.Bind(wx.EVT_MENU, self.autoCutoverL, self.autoCutoverLine)
self.showToolStatus = 0;
posM.Append(wx.NewId(),"字体(F)..","设置字体.")
viewM = wx.Menu()
viewM.Append(wx.NewId(),"状态栏","状态栏.")
self.tool=viewM.Append(wx.NewId(),"工具栏","工具栏",kind=wx.ITEM_CHECK)
self.Bind(wx.EVT_MENU, self.ToggleToolBar, self.tool)
helpM = wx.Menu()
helpM.Append(wx.NewId(),"查看帮助(H)","查看帮助.")
about = helpM.Append(wx.NewId(),"关于记事本(A)","关于记事本.")
self.Bind(wx.EVT_MENU, self.OnAbout, about)
#create a menuBar
menuB = wx.MenuBar()
# append a menu
menuB.Append(fileM,"文件(F)")
menuB.Append(editM,"编辑(E)")
menuB.Append(posM,"格式[O]")
menuB.Append(viewM,"查看[V]")
menuB.Append(helpM,"帮助[H]")
return menuB
def autoCutoverL(self,event):
print "hell"
#设置字体颜色
#self.control.SetForegroundColour("#F0FFF0")
self.control.SetStyle(-1,-1,wx.TextAttr("wx.TE_WORDWRAP"))
def OnSelectAll(self,event):
self.control.SelectAll()
def OnKeyDown(self,event):
#按键时相应代码
key = event.GetKeyCode();
if key == ord('f'):
self.fileM.Show()
self.control.AppendText(chr(key))
#是否显示工具栏
def ToggleToolBar(self,event):
self.showToolStatus+=1;
#if self.newline.IsChecked():
if self.showToolStatus % 2 == 1:
print 1111
self.control.SetInsertionPoint(50)
self.tb.Show()
print 2222
self.tb.Hide()
def OnNewFile(self,event):
if self.control.IsEmpty() && True:
dlg = wx.MessageDialog(self, "是否将更改保存到无标题?","记事本",wx.YES_NO | wx.ICON_QUESTION | wx.CANCEL)
retCode = dlg.ShowModal()
if retCode == wx.ID_YES:
self.OnSave(event)
# 保存完后,创建新文件
self.control.SetValue("")
elif retCode == wx.ID_NO:
self.control.SetValue("")
dlg.Close();
dlg.Destroy()
def OnSave(self,event):
#判断是否有内容
if self.control.IsEmpty():
self.dirname=''
""" wx.FD_OPEN
wx.FD_SAVE
wx.FD_OVERWRITE_PROMPT
wx.FD_MULTIPLE
wx.FD_CHANGE_DIR """
dlg = wx.FileDialog(self,"choose a file",self.dirname,"","*.*",wx.FD_SAVE)
if dlg.ShowModal() == wx.ID_OK:
self.filename = dlg.GetFilename()
self.dirname = dlg.GetDirectory()
f = open(os.path.join(self.dirname, self.filename), 'w')
f.write(self.control.GetValue());
dlg.Destroy()
# 重新设置记事本的Title
self.Title
= self.filename + " - 记事本"
#打开选择文件的dialog
def OnOpen(self,event):
print self.control.GetValue()
self.dirname=''
self.dirname=''
""" wx.FD_OPEN
wx.FD_SAVE
wx.FD_OVERWRITE_PROMPT
wx.FD_MULTIPLE
wx.FD_CHANGE_DIR """
dlg = wx.FileDialog(self,"choose a file",self.dirname,"","*.*",wx.OPEN)
if dlg.ShowModal() == wx.ID_OK:
self.filename = dlg.GetFilename()
self.dirname = dlg.GetDirectory()
f = open(os.path.join(self.dirname, self.filename), 'r')
self.control.SetValue(f.read())
dlg.Destroy()
self.control.SetFocus()
wx.StaticText(self.sbar, label=self.filename + ","+ str(self.control.GetNumberOfLines()) + " 行",pos=(0,1))
def OnQuit(self,event):
self.Close()
def OnAbout(self,event):
dlg = wx.MessageDialog(self, "hello,baby","title is a baby",wx.OK)
dlg.ShowModal()
self.control.SelectAll();
dlg.Destroy()
def OnHello(self, event):
def createButtonBar(self, panel, yPos = 10):
for eachLabel, eachHandler in self.buttonData():
pos = (xPos, yPos)
button = self.buildOneButton(panel, eachLabel,eachHandler, pos)
xPos += button.GetSize().width
def buildOneButton(self, parent, label, handler, pos=(0,0)):
button = wx.Button(parent, -1, label, pos)
self.Bind(wx.EVT_BUTTON, handler, button)
return button
@staticmethod
def GetMd5(content):
#md5 = hashlib.md5() #创建一个MD5加密对象
#md5.update(content)
#更新要加密的数据
#return md5.digest();
#加密后的结果(二进制)
#print md5.hexdigest() #加密后的结果,用十六进制字符串表示。
return hashlib.new("md5", content).hexdigest()
if __name__=="__main__":
app = wx.App(False)
frame = NotBookMainFrame(None,"无标题 - 记事本")
app.MainLoop()
记事本刚刚开始,也只是实现了很少的功能,从中遇到了不少问题。
如果你没事也想学着玩,那咱可以一起来完成功能。共同切磋。一块提高。
如果你有更好,更有意义的桌面应用需要wxpython来写,那我也希望能参与参与。
参考文档:
wxpython的api:http://www.wxpython.org/docs/api/
活学活用wxPython:http://www.czug.org/python/wxpythoninaction/
接下来空闲的时候想再写个仿CRT远程连接的工具。
浏览: 125331 次
来自: 北京
CommonRcFileCompression 这个类里的DA ...
要导入哪些jar包呀?
有完整的源码吗?
timeStampDate函数没找到
您用的hadoop和hive的版本是什么呢?
有没有源码呢!?学习一下哎!
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'豆丁微信公众号
君,已阅读到文档的结尾了呢~~
wxPython in Action(中文版)
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
wxPython in Action(中文版)
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='http://www.docin.com/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口wxPython的键盘事件Keycodes(键值)
编辑:www.fx114.net
本篇文章主要介绍了"wxPython的键盘事件Keycodes(键值)",主要涉及到wxPython的键盘事件Keycodes(键值)方面的内容,对于wxPython的键盘事件Keycodes(键值)感兴趣的同学可以参考一下。
在wxPython API Class&KeyEvent 可以查到相关函数
key = event.GetKeyCode()& #获得键盘事件的键值
if key == wx.WXK_TAB:#事实上,事件接受的是ASCII码,可以通过chr(key)获得实际的字符(字母+数字)
实际上,wx.WXK_TAB这些都是是ASCII码表的另外一种表示。使用中仍然可以用ASCII码
if key ==& 9:
和上面的效果是完全一样的。
http://baike.baidu.com/view/812.htm
WXK_EXECUTE
WXK_NUMPAD_SPACE
WXK_WINDOWS_LEFT
WXK_SNAPSHOT
WXK_NUMPAD_TAB
WXK_WINDOWS_RIGHT
WXK_RETURN
WXK_INSERT
WXK_NUMPAD_ENTER
WXK_WINDOWS_MENU
WXK_ESCAPE
WXK_NUMPAD_F1
WXK_SPECIAL1
WXK_NUMPAD0
WXK_NUMPAD_F2
WXK_SPECIAL2
WXK_DELETE
WXK_NUMPAD1
WXK_NUMPAD_F3
WXK_SPECIAL3
WXK_LBUTTON
WXK_NUMPAD2
WXK_NUMPAD_F4
WXK_SPECIAL4
WXK_RBUTTON
WXK_NUMPAD3
WXK_NUMPAD_HOME
WXK_SPECIAL5
WXK_CANCEL
WXK_NUMPAD4
WXK_NUMPAD_LEFT
WXK_SPECIAL6
WXK_MBUTTON
WXK_NUMPAD5
WXK_NUMPAD_UP
WXK_SPECIAL7
WXK_NUMPAD6
WXK_NUMPAD_RIGHT
WXK_SPECIAL8
WXK_NUMPAD7
WXK_NUMPAD_DOWN
WXK_SPECIAL9
WXK_NUMPAD8
WXK_NUMPAD_PRIOR
WXK_SPECIAL10
WXK_CONTROL
WXK_NUMPAD9
WXK_NUMPAD_PAGEUP
WXK_SPECIAL11
WXK_MULTIPLY
WXK_NUMPAD_NEXT
WXK_SPECIAL12
WXK_NUMPAD_PAGEDOWN
WXK_SPECIAL13
WXK_CAPITAL
WXK_SEPARATOR
WXK_NUMPAD_END
WXK_SPECIAL14
WXK_SUBTRACT
WXK_NUMPAD_BEGIN
WXK_SPECIAL15
WXK_DECIMAL
WXK_NUMPAD_INSERT
WXK_SPECIAL16
WXK_DIVIDE
WXK_NUMPAD_DELETE
WXK_SPECIAL17
WXK_NUMLOCK
WXK_NUMPAD_EQUAL
WXK_SPECIAL18
WXK_SCROLL
WXK_NUMPAD_MULTIPLY
WXK_SPECIAL19
WXK_PAGEUP
WXK_NUMPAD_ADD
WXK_SPECIAL20
WXK_PAGEDOWN
WXK_NUMPAD_SEPARATOR
WXK_NUMPAD_SUBTRACT
WXK_SELECT
WXK_NUMPAD_DECIMAL
WXK_NUMPAD_DIVIDE
一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!
二、互相尊重,对自己的言论和行为负责。
本文标题:
本页链接:

我要回帖

更多关于 怎么让肉毒素快点失效 的文章

 

随机推荐