Python-GUI编程之 Tkinter 与 记事本实现心得

来源:互联网 发布:淘宝oem化妆品能用不 编辑:程序博客网 时间:2024/06/05 08:27

在这里介绍一下tkinter和我的记事本,同时分享一些方便自学python的网站

引用一句老外的话让自己显得高大上一些:

MythDebunking: TkInter is ugly on Windows (http://wiki.tcl.tk/8646)

瞧瞧我刚写的记事本。。。

这里写图片描述

好像确实是这样的。。。其实记事本是按教程一步一步写的,大概知道了图形界面是如何一步一步搭框架,写功能的了。


正文:


百度描述

Tkinter模块(“Tk 接口”)是Python的标准Tk GUI工具包的接口.Tk和Tkinter可以在大多数的Unix平台下使用,同样可以应用在Windows和Macintosh系统里.Tk8.0的后续版本可以实现本地窗口风格,并良好地运行在绝大多数平台中。

具体还有什么特点就不罗列了,学习最好的途径是官网,给几个官方网站:

python官网中有关描述:https://docs.python.org/2/library/tkinter.html
上面的是2.7版本的python,还有一个3.6版本的:https://docs.python.org/3.6/library/tkinter.html

effbot中关于tklinter的资料:http://effbot.org/tkinterbook/

ps:我原来也不知道有effbot这个东西,一开始都是蒙蔽的,想了解可以瞧瞧官网,打开的页面就说明了干啥的:

官网:http://effbot.org/

Tkinter有15个核心的控件:
1、Button
2、Canvas
3、Checkbutton
4、Entry
5、Frame
6、Label
7、Listbox
……还有菜单啊,text文本显示啊什么的若干控件,而我好像写一个记事本软件也没有用完,说明这15个控件,足够自己写一些小小的应用软件了,当然大点的还是用其它的吧,我现在只知道还有个pyQT什么的,不过现在还不会,以后再说吧。

具体介绍可以查看官网:http://effbot.org/tkinterbook/tkinter-classes.htm

记事本:

记事本用到的控件有:
1、Menu
2、statusBar
3、Text
4、tkMessageBox #4、5这两个控件要额外引入
5、tkFileDialog #
6、Toplevel
7、Toolbar(这个。。太丑了后面把它去掉了)

使用的库:

#由于python2和python3版本对应的一些库做了改动,引用时有一些不同,不过#具体使用时还是一样的#python3 引用方式:from tkinter import *from tkinter.messagebox import * #消息窗口,弹出一些信息from tkinter.filedialog import * #文件窗口import os #操作文件#python2 引用方式:from Tkinter import *from tkMessageBox import * #消息窗口,弹出一些信息from tkFileDialog import * #文件窗口import os #操作文件

tkinter.messagebox:标准的消息窗口,以文本小窗口形式弹出一些信息。

tkMessageBox说明文档:http://effbot.org/tkinterbook/tkinter-standard-dialogs.htm

tkinter.filedialog:打开文件、另存文件等操作时会像windows一样弹出窗口。

tkFileDialog说明文档:http://effbot.org/tkinterbook/tkinter-file-dialogs.htm

还有一个比较重要的:
像Cut,Copy等操作是没有库的,它是使用系统级别的事件消息,具体说明可以参考这里,Tkinter里好难找的,我找了一下(好吧,很久)没找到,又回头看了看视频教程里面是怎么说的(怪我没认真看咯),结果。。。人家说这是系统级事件,他也找了很久(心里平衡了),最后谷歌到的(百度没找到),说要在官方源代码库说明里面才找到……
比如我要复制:textPad.event_generate('<<Copy>>')
粘贴呢,这样:textPad.event_generate('<<Paste>>')
就是用 ‘<<操作>>’ 这样的格式就可以了,里面就是需要的操作,不难

event_generate : https://www.tcl.tk/man/tcl8.5/TkCmd/event.htm

使用一些快捷键什么的可能会用到这些,因为我弄的这个记事本没添加快捷键功能,没用过,就看了看,

http://effbot.org/tkinterbook/tkinter-events-and-bindings.htm#events

在这里分享的是如何查找详细的使用方法–>effbot,全都是关于python库的一些书,只不过都是英文的,英语不太好的我看起来有点累,不过看多了慢慢会适应。
以上。

原创粉丝点击