Day10 - 用户图形界面和游戏开发
基于tkinter模块的GUI
GUI是图形用户界面的缩写,图形化的用户界面对使用过计算机的人来说应该都不陌生,在此也无需进行赘述。Python默认的GUI开发模块是tkinter(在Python 3以前的版本中名为Tkinter),从这个名字就可以看出它是基于Tk的,Tk是一个工具包,最初是为Tcl设计的,后来被移植到很多其他的脚本语言中,它提供了跨平台的GUI控件。当然Tk并不是最新和最好的选择,也没有功能特别强大的GUI控件,事实上,开发GUI应用并不是Python最擅长的工作,如果真的需要使用Python开发GUI应用,wxPython、PyQt、PyGTK等模块都是不错的选择。
示例代码自己敲一遍,感觉跟java绘制GUI界面操作类似。
import tkinter
import tkinter.messagebox
def main():
flag = True
def change_label_text():
nonlocal flag
flag = not flag
color, msg = ('red', 'heiheihei')if flag else ('blue', 'goog')
label.config(text=msg, fg=color)
def confirm_to_quit():
if tkinter.messagebox.askokcancel('提示', '确定要退出嘛?'):
top.quit()
top = tkinter.Tk()
top.geometry('240x160')
top.title('title')
label = tkinter.Label(top, text='hello', font='Arial -32', fg='red')
label.pack(expand=1)
panel = tkinter.Frame(top)
button1 = tkinter.Button(panel, text='修改', command=change_label_text)
button1.pack(side='left')
button2 = tkinter.Button(panel, text='退出', command=confirm_to_quit)
button2.pack(side='right')
panel.pack(side='bottom')
tkinter.mainloop()
if __name__ == '__main__':
main()
ps.个人感觉这个类库不是很还用,作为了解就行,应该有比这个更加方便的。
使用Pygame进行游戏开发
Pygame是一个开源的Python模块,专门用于多媒体应用(如电子游戏)的开发,其中包含对图像、声音、视频、事件、碰撞等的支持。Pygame建立在SDL的基础上,SDL是一套跨平台的多媒体开发库,用C语言实现,被广泛的应用于游戏、模拟器、播放器等的开发。而Pygame让游戏开发者不再被底层语言束缚,可以更多的关注游戏的功能和逻辑。
ps.讲义中这个例子讲的不太好,有点乱,完全可以通过别的更加系统的例子来学习。推荐从《python编程:从入门实践》这本书的第二部分12章开始学习,较为详细也比较系统。
自己对本章节不感兴趣,仅仅作为了解学习,跳过跳过跳过吧。。。