- 浏览: 191877 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
wg1214:
CommonRcFileCompression 这个类里的DA ...
普通文本压缩成RcFile的通用类 -
wdt1988520:
要导入哪些jar包呀? 有完整的源码吗?
普通文本压缩成RcFile的通用类 -
yiqi1943:
timeStampDate函数没找到
RcFile存储和读取操作 -
yiqi1943:
您用的hadoop和hive的版本是什么呢?
RcFile存储和读取操作 -
心如止水13:
有没有源码呢!?学习一下哎!
JBPM4.3总结三
# -*- coding: utf-8 -*- import hashlib import os import wx #编辑器主类 """ 记录: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 @Date 2012-05-10 @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)) #Alt #self.control.Bind(wx.EVT_CHAR, self.OnKeyDown) # 创建一个状态bar,在window的最下端 self.sbar = self.CreateStatusBar() # 创建菜单栏 menuB = self.createMenuBar() # set menuBar of app self.SetMenuBar(menuB) #Ctrl acceltbl = wx.AcceleratorTable([(wx.ACCEL_CTRL, ord('Q'), self.selectA.GetId())]) self.SetAcceleratorTable(acceltbl) #frame show self.Show(True) def createMenuBar(self): #Menu #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","时间.") #格式[O] 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)..","设置字体.") #查看[V] 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) #帮助[H] 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): #按键时相应代码 # Alt + F key = event.GetKeyCode(); if key == ord('f'): self.fileM.Show() else: 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() else: 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("") else: # 取消 dlg.Close(); dlg.Destroy() #保存 def OnSave(self,event): #判断是否有内容 if self.control.IsEmpty(): return; 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()); f.close() 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()) f.close() 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): pass #创建按钮 def createButtonBar(self, panel, yPos = 10): xPos = 0 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 #get md5 @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()
图例2
记事本刚刚开始,也只是实现了很少的功能,从中遇到了不少问题。 如果你没事也想学着玩,那咱可以一起来完成功能。共同切磋。一块提高。 如果你有更好,更有意义的桌面应用需要wxpython来写,那我也希望能参与参与。 参考文档: wxpython的api:http://www.wxpython.org/docs/api/ 活学活用wxPython:http://www.czug.org/python/wxpythoninaction/ 接下来空闲的时候想再写个仿CRT远程连接的工具。
发表评论
-
python使用thrift访问操作hbase
2012-05-13 21:05 133671.看不同语言对hbase的thrift访问demo,可以参考 ... -
python函数式编程之内建函数
2012-05-05 18:53 1140# -*- coding: utf-8 -*- #学 ... -
python os模块【记录】
2012-05-05 16:48 954Python的标准库中的os模块包含普遍的操作系统功能。如果你 ... -
python对文件的简单操作
2012-05-05 16:41 1310# -*- coding: utf-8 -*- impo ... -
删除一个目录下内容相同的文件
2012-05-05 13:34 1501# -*- coding: utf-8 -*- ' ... -
Python stat 模块
2012-05-05 13:19 1477#!/usr/bin/env python #-*- ... -
自助查询工具需求分析
2011-12-04 22:46 1127平时工作临时需求查询比较多,领导让做一个自助查询工具,这样可以 ... -
【记录】使用python并行执行shell
2011-12-04 22:11 4044#!/usr/bin/python # -*- co ... -
Python 字符串方法
2011-10-18 15:23 987本文最初发表于赖勇浩 ... -
[转]linux下python安装
2011-10-08 14:10 8741.下载源代码 http://www.python.org/f ... -
Python模块结构布局
2011-03-02 23:43 1513模块结构布局:# 1 起始行(UNIX)# 2 模块文档# 3 ...
相关推荐
本文实例讲述了python使用wxpython开发简单记事本的方法。分享给大家供大家参考。具体分析如下: wxPython是Python编程语言的一个GUI工具箱。他使得Python程序员能够轻松的创建具有健壮、功能强大的图形用户界面的...
python wxpython python gui
Python WxPython开源扫雷游戏PyMine为开源扫雷游戏PyMine 使用Python语言和WxPython UI框架。本例移植自开源例程JMine 请在程序所在目录使用python PyMine.py启动例程需要先安装Python 3.11和wxPython 4.2Python ...
wxPython将wxWidgets的大部分功能用Python语言重新实现,使得开发者可以使用Python来编写具有本地外观和感觉的桌面应用程序。 在介绍的简易笔记本程序实例中,我们能够实现打开文件、编辑文件内容以及保存文件的...
Python学习资源打包下载,共包含9个文件,7个Python文档+2个wxPython文档: Dive Into Python.chm python-2.7.2.chm Python Programming on Win32 .chm Python核心编程.pdf Python精要参考.pdf Python学习笔记整理....
Python WxPython开源扫雷游戏PyMine新版1.2 ...使用Python语言和WxPython UI框架 本例移植自本人开源例程JMine 请在程序所在目录使用python PyMine.py启动例程 需要先安装Python 2.7和wxPython框架
python 的wxpython包 及django的文档 含有wxpython的demo
wxPython 是一个基于C++的wxWidgets库的Python绑定,它允许开发人员使用Python编写原生GUI(图形用户界面)应用程序。wxWidgets库提供了跨平台的支持,可以在Windows、Linux和macOS等操作系统上运行。wxPython 2.6 ...
用python+wxpython写的一个邮件收发客户端,原来一直用C++,最近一周学习了Python。这个小作品实现了邮件收发(能很好的解码pop3中文),账户管理(增加,删除,编辑,更换)。显示文件内容用了htmlwindow,对网页...
wxPython是Python的一个GUI(图形用户界面)工具包,它允许开发者使用Python来创建原生外观的跨平台应用程序。在提供的“wxPython2.8-win32-unicode-2.8.12.1-py27.exe”文件中,"win32"表示这是为Windows系统编译的...
### wxPython - 学习 Python #### 一、Python 为何适合 GUI 开发? Python 作为一门高级编程语言,以其简洁优雅的语法和强大的库支持而闻名。在图形用户界面(GUI)开发领域,Python 同样表现出色,这主要得益于...
本例为开源扫雷游戏PyMine 使用Python语言和WxPython UI框架 本例移植自本人开源例程JMine 请在程序所在目录使用python PyMine.py启动例程
本教程旨在指导读者通过Python 3和wxPython库来学习图形用户界面(GUI)的编程基础。wxPython是一个开源的Python扩展库,基于wxWidgets C++库,它为Python提供了丰富的GUI组件,让开发者能够创建丰富的桌面应用程序。...
python 3 +wxpython 图书馆管理系统,实现了图书的增删改查,借还书显示图书信息等内容,python 3 +wxpython 图书馆管理系统,实现了图书的增删改查,借还书显示图书信息等内容,python 3 +wxpython 图书馆管理系统,实现了...
本例为开源扫雷游戏PyMine 使用Python语言和WxPython UI框架 本例移植自本人开源例程JMine 请在程序所在目录使用python PyMine.py启动例程。需要先安装Python 3.6和wxPython 4.0.3框架 注意,本源码有两个分支,...
wxPython基于wxWidgets,一个跨平台的C++库,使得Python程序员能够在Windows、Linux和macOS等操作系统上创建桌面应用,且应用看起来和感觉上都像是使用各自操作系统原生的UI组件开发的。这样,Python开发者就可以...
wxPython4.1是该库的一个稳定版本,针对Windows 64位系统进行了优化,同时兼容Python2.7、Python3.7和Python3.8这三个主要的Python版本。 **Python版本兼容性** wxPython4.1的显著特点之一就是对多个Python版本的...
WxPython 是一个流行的 Python 库,它提供了原生的跨平台 GUI 工具包,使得开发者可以使用 Python 来创建具有美观外观的应用程序,而无需深入学习底层图形界面编程。 WxPython 可视化编辑器,如其名所示,允许用户...
wxPython是基于Python的一个GUI(图形用户界面)工具包,它允许开发者使用Python来创建原生跨平台的用户界面。wxPython是基于C++的wxWidgets库构建的,可以运行在Windows、Linux和macOS等多个操作系统上。wxPython为...