matlab将gui界面做成程序_五分钟学Python(五)| 让程序生动起来——图形用户界面GUI...

 

有没有突然觉得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!")

当你输入完这段代码后,你会得到一个消息框:

659c70fadb047a46aad978e2c429cf54.png

你点一下那个“OK”,消息框就会关闭,然后在命令窗口中看到:

7390122999162f0bd5fab40ca1ff486b.png

‘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)

运行、保存,得到一个按钮选项框:

d4af649af8d86eb8f12f6a95a3d6db80.png

选了披萨,就会出现下面的消息框:

31fcabadebdb07ffbedda0a4df10647e.png

上面代码中的方括号[]中的代码成为列表,以后会介绍,这里不多说。

我们将用户的点击输入定义为变量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)

运行后,得到了一个新样式选择框:

8c3f3ac763436fe30b038742b61cf9ff.png

选取后,出现:

54cdb417291a651e93ebd78e88967140.png

3、输入框:enterbox()

换成下面的代码:

import easyguisupper=easygui.enterbox("晚上吃什么?")            easygui.msgbox("你点了 "+supper)

运行,出现:

a7181086bfd488ed4e493d6bb3ebd1ee.png

填入想吃的东西,点OK:

3c0062c83c0b9335c910d9eb1a5252ee.png

以上就是图形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))

感兴趣就自己试试吧!

反正我玩儿了几次都没猜对。16c97ed13f51b7f4a3265b4ef4609ca8.png

往期精选

五分钟学Python(四)| 输入字符与Python交互

五分钟学Python(二)|Python中的“名字”

五分钟学Python(三)|一起重温被数学支配的美(kong)好(bu)时光

- End -

友情推送:

e363eea97992647f84408b88b1dffab6.png

一起在有风的路上,学会独自成长 b0ac0ad3a5c31e844fb3aa64d1890603.png Life之遇  独行的人总会遇到有趣的人 5c31fdfd65229550fb5e7c993b00d654.png 罩老板   热爱可抵岁月漫长,画画记录生活点滴 cf816c7a47733ddd9043aab2e1e3ea9c.png 守琮说

麻烦点一下在看再走呗

e2f3a399517f092445db52c25a2cff7e.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值