python界面开发
来源:互联网 发布:bigapp源码 编辑:程序博客网 时间:2024/05/18 18:46
python GUI界面开发
大体代码框架
class Application(Frame): def __init__(self,master=None): Frame.__init__(self,master) self.pack() self.createWidgets() def createWidgets(self): self.helloLabel = Label(self, text='Hello,world') self.helloLabel.pack() self.apktoolButton = Button(self,text='反编译apk',command=self.deBuildApk) self.apktoolButton.pack() self.quitButton = Button(self, text='Quit',command=self.quit) self.quitButton.pack()if __name__ == '__main__': app = Application() #设置窗口标题 app.master.title('hello wolrd') #主消息循环 app.mainloop()
label文字动态修改
label或者button没有setText或者set这样的函数。
不过可以直接使用赋值的方法来修改
label=Enter(root,text=”My name is rocky”)
label[“text”]=”My name is Ben”
验证过,可以动态修改label上的文本。
utf-8编码
#coding=utf-8 //这句是使用utf8编码方式方法, 可以单独加入python头使用。# -*- coding:cp936 -*-import sysreload(sys)sys.setdefaultencoding('utf-8')python机器学习算法库:sklearn
安装sklearn
1.安装sklearn之前,我们需要先安装numpy,scipy函数库。
Numpy下载地址:
http://sourceforge.net/projects/numpy/files/NumPy
Scipy下载地址:
http://sourceforge.net/projects/scipy/files/Scipy
下载对应本机的Python版本。
2、安装sklearn机器学习库
下载地址:
https://github.com/scikit-learn/scikit-learn
下载压缩包之后,解该压缩包压缩。使用CMD进入sklearn文件夹,执行
python setup.py install
sklearn使用
训练svm分类器,根据分类器模型进行分类
class classify: def __init__(self): self.model = svm.SVC() """ data: X = [[0, 0], [1, 1], [1, 0]] # training samples y = [0, 1, 1] # training target """ def createModel(self,samples,target): self.model.fit(samples,target) def predictSample(self,sample): return self.model.predict(sample)
sklearn中提供了高效的模型持久化模块joblib,将模型保存至硬盘。
from sklearn.externals import joblib#lr是一个LogisticRegression模型joblib.dump(lr, 'lr.model')lr = joblib.load('lr.model')
tk相关模块
http://www.jianshu.com/p/e88ba6c5f65e
Python 3.4 tk支持库描述
tkinter.scrolledtext Text widget with a vertical scroll bar built in.tkinter.colorchooser Dialog to let the user choose a color.tkinter.commondialog Base class for the dialogs defined in the other modules listed here.tkinter.filedialog Common dialogs to allow the user to specify a file to open or save.tkinter.font Utilities to help work with fonts.tkinter.messagebox Access to standard Tk dialog boxes.tkinter.simpledialog Basic dialogs and convenience functions.tkinter.dnd Drag-and-drop support for tkinter. turtle Turtle graphics in a Tk window.
python2.7 tk支持库描述的描述
ScrolledText Text widget with a vertical scroll bar built in.tkColorChooser Dialog to let the user choose a color.tkCommonDialog Base class for the dialogs defined in the other modules listed here.tkFileDialog Common dialogs to allow the user to specify a file to open or save.tkFont Utilities to help work with fonts.tkMessageBox Access to standard Tk dialog boxes.tkSimpleDialog Basic dialogs and convenience functions.Tkdnd Drag-and-drop support for Tkinter. turtle Turtle graphics in a Tk window.
text文本框:支持滚动条
#-*- coding:utf-8 -*- """ Text 文本框样例 实现功能有:Ctrl+a全选文本, 竖向滚动条,横向滚动条(不自动换行) 自动缩放 有谁知道全选文本的方法为会要 return 'break' 吗? http://blog.csdn.net/xxb2008 """ import Tkinter class MainFrame(Tkinter.Frame): def __init__(self, master=None): Tkinter.Frame.__init__(self, master) self.grid(row=0, column=0, sticky="nsew") self.createFrame() def createFrame(self): label_frame_top = Tkinter.LabelFrame(self) #label_frame_top.pack() label_frame_center = Tkinter.LabelFrame(self) label_frame_center.pack(fill="x") lfc_field_1 = Tkinter.LabelFrame(label_frame_center) lfc_field_1.pack(fill="x") self.lfc_field_1_l = Tkinter.Label(lfc_field_1, text="文件路径:", width=10) self.lfc_field_1_l.pack(fill="y", expand=0, side=Tkinter.LEFT) self.lfc_field_1_b = Tkinter.Button(lfc_field_1, text="清除:", width=10, height=1, command=self.clearText) self.lfc_field_1_b.pack(fill="none", expand=0, side=Tkinter.RIGHT, anchor=Tkinter.SE) ##########文本框与滚动条 self.lfc_field_1_t_sv = Tkinter.Scrollbar(lfc_field_1, orient=Tkinter.VERTICAL) #文本框-竖向滚动条 self.lfc_field_1_t_sh = Tkinter.Scrollbar(lfc_field_1, orient=Tkinter.HORIZONTAL) #文本框-横向滚动条 self.lfc_field_1_t = Tkinter.Text(lfc_field_1, height=15, yscrollcommand=self.lfc_field_1_t_sv.set, xscrollcommand=self.lfc_field_1_t_sh.set, wrap='none') #设置滚动条-不换行 #滚动事件 self.lfc_field_1_t_sv.config(command=self.lfc_field_1_t.yview) self.lfc_field_1_t_sh.config(command=self.lfc_field_1_t.xview) #布局 self.lfc_field_1_t_sv.pack(fill="y", expand=0, side=Tkinter.RIGHT, anchor=Tkinter.N) self.lfc_field_1_t_sh.pack(fill="x", expand=0, side=Tkinter.BOTTOM, anchor=Tkinter.N) self.lfc_field_1_t.pack(fill="x", expand=1, side=Tkinter.LEFT) #绑定事件 self.lfc_field_1_t.bind("", self.selectText) self.lfc_field_1_t.bind("", self.selectText) ##########文本框与滚动条end label_frame_bottom = Tkinter.LabelFrame(self) #label_frame_bottom.pack() pass #文本全选 def selectText(self, event): self.lfc_field_1_t.tag_add(Tkinter.SEL, "1.0", Tkinter.END) #self.lfc_field_1_t.mark_set(Tkinter.INSERT, "1.0") #self.lfc_field_1_t.see(Tkinter.INSERT) return 'break' #为什么要return 'break' #文本清空 def clearText(self): self.lfc_field_1_t.delete(0.0, Tkinter.END) def main(): root = Tkinter.Tk() root.columnconfigure(0, weight=1) root.rowconfigure(0, weight=1) root.geometry('640x360') #设置了主窗口的初始大小960x540 800x450 640x360 main_frame = MainFrame(root) main_frame.mainloop() if __name__ == "__main__": main() pass
Tkinter 组件
Tkinter的提供各种控件,如按钮,标签和文本框,一个GUI应用程序中使用。这些控件通常被称为控件或者部件。
目前有15种Tkinter的部件。我们提出这些部件以及一个简短的介绍,在下面的表:
控件 描述 Button 按钮控件;在程序中显示按钮。 Canvas 画布控件;显示图形元素如线条或文本 Checkbutton 多选框控件;用于在程序中提供多项选择框 Entry 输入控件;用于显示简单的文本内容 Frame 框架控件;在屏幕上显示一个矩形区域,多用来作为容器 Label 标签控件;可以显示文本和位图 Listbox 列表框控件;在Listbox窗口小部件是用来显示一个字符串列表给用户 Menubutton 菜单按钮控件,由于显示菜单项。 Menu 菜单控件;显示菜单栏,下拉菜单和弹出菜单 Message 消息控件;用来显示多行文本,与label比较类似 Radiobutton 单选按钮控件;显示一个单选的按钮状态 Scale 范围控件;显示一个数值刻度,为输出限定范围的数字区间 Scrollbar 滚动条控件,当内容超过可视化区域时使用,如列表框。. Text 文本控件;用于显示多行文本 Toplevel 容器控件;用来提供一个单独的对话框,和Frame比较类似 Spinbox 输入控件;与Entry类似,但是可以指定输入范围值 PanedWindow PanedWindow是一个窗口布局管理的插件,可以包含一个或者多个子控件。 LabelFrame labelframe 是一个简单的容器控件。常用与复杂的窗口布局。 tkMessageBox 用于显示你应用程序的消息框。
标准属性
标准属性也就是所有控件的共同属性,如大小,字体和颜色等等。
属性 描述 Dimension 控件大小; Color 控件颜色; Font 控件字体; Anchor 锚点; Relief 控件样式; Bitmap 位图; Cursor 光标;
设置text属性
不可编辑
CONFIG.TEXT.bind("",lambda e: "break")
删除内容
CONFIG.TEXT.delete(1.0,END)
设置颜色
CONFIG.TEXT['fg'] = 'black'
插入内容
CONFIG.TEXT.insert(ABOUT_MESSAGE)
text保存
#直接保存with open (os.getcwd()+r'log.txt','w+') as fb: fb.write(CONFIG.TEXT.get(0.0,'end'))#交互式保存r = filedialog.asksaveasfilename(title='保存文件', initialdir=os.getcwd(), initialfile='myLog.txt')
- python界面开发
- Python Tkinter界面应用开发-03 界面的搭建
- 选择Python GUI界面开发工具
- 选择Python GUI界面开发工具
- Python界面开发方面的框架
- Python Tkinter界面应用开发-01 简介
- Python Tkinter界面应用开发-05 拉出
- Python Tkinter界面应用开发-06 结束
- PYTHON开发入门与实战13-基于模板的界面
- PYTHON开发入门与实战14-基于EXTJS的界面
- PYTHON开发入门与实战14-基于EXTJS的界面
- PYTHON开发入门与实战14-基于EXTJS的界面
- PYTHON开发入门与实战14-基于EXTJS的界面
- 玩转树莓派-RaspBerry,使用Python开发定制界面
- Python Tkinter界面应用开发-04 开始和结束
- pcharm配置pyqt5(Anaconda3 python环境)做界面开发
- Python量化交易平台开发教程系列7-顶层GUI界面开发(1)
- Python量化交易平台开发教程系列8-顶层GUI界面开发(2)
- 3-7 DNA序列(DNA Consensus String, ACM/ICPC Seoul 2006, UVa1368)
- javaee加密部署,tomcat使用自己的classloader解密
- 无人机跟踪系统项目开发过程记录-1
- 关于tomcat在关闭时的memory leak日志信息的解释
- jsonp跨域
- python界面开发
- 详解JS中Number()、parseInt()和parseFloat()的区别
- Ffmpeg(Fast Forward mpeg)用法总结(上)
- div添加背景图时候与清除浮动样式冲突
- JAVA01
- hessian协议从rpc服务获取inputStream流下载文件的方式,出现异常 java.io.IOException: stream is closed
- 【MyBatis】一个简单的xml配置文件;
- Android简单自定义view的实现
- quorum入门