有没有突然觉得IDLE的命令窗口交互界面太枯燥?太low了?与这么时髦的python根本不匹配?
怎么办?用GUI!
GUI就是Graphical User Interface图形用户界面,是包含了窗口、按钮、文本框等图形,并可以用鼠标键盘交互的界面。
相比来讲,它的输入输出显得更加丰富、有趣。
其实GUI也很好理解,我们所用的web浏览器就是图形用户界面的一种。
如何使用GUI?
我们可以使用一个Python的模块——EasyGui来建立简单的GUI。
【模块是一种扩展方法,通过它可以向Python增加非内置的内容,后面应该会详细介绍。】
想使用EasyGui的话,可以从http://easygui.sourceforge.net/下载easygui.py文件,并放在Python的安装文件夹中即可。
下载完成后,我们来小试一下:
import easyguieasygui.msgbox("Hello! My friend!")
当你输入完这段代码后,你会得到一个消息框:
你点一下那个“OK”,消息框就会关闭,然后在命令窗口中看到:
‘OK’的意思,就是Python告诉你,用户点击了OK按钮。
刚刚的代码里出现了easygui.msgbox()这个函数,它就是用来调用消息框的函数。与它相类似的还有:
按钮框:buttonbox()
选择框:choicebox()
输入框:enterbox()
我们分别来看一看它们的应用示例:
1、按钮框:buttonbox()
在IDLE Shell中新建文件,并输入下面的代码:
import easyguisupper=easygui.buttonbox("what would you like to eat tonight?", choices=['KFC','Pizza','Noodles']) easygui.msgbox("you picked "+supper)
运行、保存,得到一个按钮选项框:
选了披萨,就会出现下面的消息框:
【上面代码中的方括号[]中的代码成为列表,以后会介绍,这里不多说。】
我们将用户的点击输入定义为变量supper,这个意义与上次讲到的raw_input()其实是一样的,都是用户与系统的交互。只不过是点击鼠标和键入键盘的区别。
这正是GUI的关键。
2、选择框:choicebox()
还是晚饭选择题的例子,我们稍作修改:
import easyguisupper=easygui.choicebox("what would you like to eat tonight?", choices=['KFC','Pizza','Noodles']) easygui.msgbox("you picked "+supper)
运行后,得到了一个新样式选择框:
选取后,出现:
3、输入框:enterbox()
换成下面的代码:
import easyguisupper=easygui.enterbox("晚上吃什么?") easygui.msgbox("你点了 "+supper)
运行,出现:
填入想吃的东西,点OK:
以上就是图形GUI的简单应用,是不是很简单?
最后一个例子,把前面一次文章中的猜数字游戏再用easygui重做一次。
代码如下:
import random,easyguisecret=random.randint(1,99)guess=0tries=0easygui.msgbox("""你好~少年!来玩儿个猜数字游戏吧!"从1到99你猜一个,只有6次机会哦!""")while guess!=secret and tries<6: guess=easygui.integerbox("请猜数字:") if not guess:break if guess easygui.msgbox(str(guess)+"低了!") elif guess>secret: easygui.msgbox(str(guess)+"高了!") tries=tries+1if guess==secret: easygui.msgbox("恭喜你!猜对了!")else: easygui.msgbox("游戏结束!答案是"+str(secret))
感兴趣就自己试试吧!
反正我玩儿了几次都没猜对。
往期精选
五分钟学Python(四)| 输入字符与Python交互
五分钟学Python(二)|Python中的“名字”
五分钟学Python(三)|一起重温被数学支配的美(kong)好(bu)时光
- End -
友情推送:
![b0ac0ad3a5c31e844fb3aa64d1890603.png](https://i-blog.csdnimg.cn/blog_migrate/f5e872fb0a43148d8d2b4f00be819166.png)
![5c31fdfd65229550fb5e7c993b00d654.png](https://i-blog.csdnimg.cn/blog_migrate/f53a098c7acb17a44b7711e656f668db.png)
![cf816c7a47733ddd9043aab2e1e3ea9c.png](https://i-blog.csdnimg.cn/blog_migrate/f204b04d7bb468cabeb95ff4224eee48.png)
麻烦点一下在看再走呗
![e2f3a399517f092445db52c25a2cff7e.png](https://i-blog.csdnimg.cn/blog_migrate/c99957bd067e44cb6d01b5f1c4e9b2ae.jpeg)