
wx.EVT_KEY_UP
wx.EVT_KEY_DOWN
他们的区别是:
wx.EVT_KEY_UP是键盘按下后再d起,也就是一次完整的输入,字符被输入到了文本框以后才触发事件。
wx.EVT_KEY_DOWN是键盘按下就触发事件,字符可能还没有输入到文本框里,就被拦截下来。
我试了wx.EVT_KEY_DOWN这个事件,触发事件的时候,按下键盘,抓取用户按下的键值,在输入的字符填到文本框之前,把它转换成大写字符,再填到文本框里,可以做到改变小写为大写。但是有一个问题,就是输入特殊字符的时候,比如shift+2,应该是@,但是抓取到的是2,这样不太好。
所以尝试另外一种方式:首先输入一个字符到文本框里,触发wx.EVT_KEY_UP事件,然后获取文本框里刚刚输入的这个字符,如果是小写字母,就转换成大写的,如果是其他字符,则不做处理。
虽然这个方法不是很简便,但是能达到效果。
下面是代码,调试过没问题:
import wx
import time
def lower_to_upper(event):
end_pos = text_box.GetInsertionPoint()#获取插入点的位置
if end_pos <=0 :return#插入点为0代表是文本框的起始位置
start_pos = end_pos -1#插入点前一个位置
text_box.SetSelection(start_pos,end_pos)#选取刚输入的字符
char_value=text_box.GetStringSelection()#获取字符的值
if 97<=ord(char_value)<=122:#小写字母的ascii 码范围是97到122
upper_case = char_value.upper()#转换成大写
text_box.Remove(start_pos,end_pos)#删除小写字母
time.sleep(.5)#等待0.5秒,为的是能看到删除的动作,可以删掉这一行
text_box.WriteText(upper_case)#填入大写字母
else:
text_box.SetInsertionPoint(end_pos)#如果是其他字符,直接设置插入点,等待输入
app = wx.App()
win = wx.Frame(None,title = "Test",size = (200,200))
win.SetBackgroundColour(wx.BLACK)
win.Show()
text_box = wx.TextCtrl(win,pos = (0,0))
text_box.Bind(wx.EVT_KEY_UP,lower_to_upper) #文本框绑定事件,调用相应的函数
app.MainLoop()
复制代码即可运行,截图如下:
希望能帮到你,有疑问请追问!
开发环境简介:python版本我们使用3.5, *** 作系统win7,
要使用的模块:
1.wxpython桌面图形扩展。安装方法使用pip安装命令:pipinstall-UwxPython
2、请求,re,hashlib,时间
让我们开始吧:
第一步是创建具有以下效果的界面:
创建接口的代码:
App = wx.app () win = wx.frame(无,title = "(在此填写软件标题)"。编码(' utf8 '),大小= (1200,800)) # size是默认窗口大小,赢了。Show()可以根据您自己的需要进行设置
#添加两个文本框,位置和大小可以自己设置。这里我使用左右设计内容1 = WX.textctrl (Win,POS = (5,5),size = (500,600),style = WX . te _ multiline | WX . te _ rich)内容2 = WX.textctrl (Win,pos=(650,5),size=(500,600),style = WX。TE_MULTILINE|wx。TE_RICH)
# add function button load button = wx . button(赢,标签= '这是按钮的标题,请更改'。编码(“utf8”),pos = (515,310),size = (120,40))
#为按钮添加绑定事件,单击按钮执行wyc函数加载按钮。绑定(WX。EVT按钮)。步骤2,定义WYC()函数的代码截图如下:
第三步:实现内容1的伪原创。这里我使用百度翻译的api界面。
界面键需要你自己应用,当然你也可以用我的。
Appid = 20160727000025884姚蜜= ' tznuzfwt 8qzv10dzuttc ' #百度翻译密钥
代码截图:
第四步:调用百度翻译界面将原文内容翻译成中文(以增强伪原文效果),然后将返回的内容再次调整到词典段落,代码如下
步骤5:包装。将文件复制到exe。
这里我使用的是pyinstaller,一个可以直接使用pip安装的工具
然后切换到。找到py文件,并执行打包命令:pyinstaller-F-wxxx.py(注意:添加参数-w,运行打包的exe文件后不会出现黑色窗口)
包完成后,可以在当前目录下的dist文件夹中看到生成的exe文件,并且它已经完成。
*** 作效果如下:
生命太短暂,无法学习。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)