您的位置:首页 > 编程语言 > Python开发

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

2017-10-14 20:32 761 查看
在这里介绍一下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库的一些书,只不过都是英文的,英语不太好的我看起来有点累,不过看多了慢慢会适应。

以上。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息