鱼C论坛

 找回密码
 立即注册
查看: 1460|回复: 0

[学习笔记] A-17-图形化界面

[复制链接]
发表于 2018-7-18 10:49:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. <font size="3">#coding: UTF-8
  2. #Graphical User Interface 图像用户界面
  3. #http://bbs.fishc.org/thread-46069-1-1.html
  4. #


  5. import easygui as g    #导入easygui模块
  6. import sys

  7. while 1:
  8.         g.msgbox("嗨,欢迎进入第一个界面小游戏^_^",ok_button="加油")    #其中easygui.msgbox("对话框内容","对话框标题",ok_button)

  9.         msg ="请问你希望在鱼C工作室学习到什么知识呢?"
  10.         title = "小游戏互动"
  11.         choices = ["谈恋爱", "编程", "OOXX", "琴棋书画"]

  12.         #使用序列(元祖或列表)作为选项,这些选项会按照字母进行排序
  13.         choice = g.choicebox(msg, title, choices)   #choicebox(内容,标题,选择项)

  14.         # 注意,msgbox的参数是一个字符串,如果用户选择Cancel,该函数返回None
  15.         g.msgbox("你的选择是: " + str(choice), "结果")

  16.         msg = "你希望重新开始小游戏吗?"
  17.         title = "请选择啊"

  18.         # 弹出一个Continue/Cancel对话框
  19.         if g.ccbox(msg, title):  #ccbox(内容,标题),提高双C,返回True 或者 False
  20.                 pass            # 用户选择Continue
  21.         else:
  22.                 sys.exit(0)     # 用户选择Cancel


  23. #使用按钮组件
  24. #msgbox ccbox
  25. a=g.ynbox("msg","title",choices=('Yes','No')) #返回 1(True) 或者0 (False)
  26. print(a)
  27. b=g.buttonbox(msg='Shall I continue?', title='啊哈', choices=('Button[1]', 'Button[2]', 'Button[3]'),image=None)  #返回所点击按钮的文本内容
  28. print(b)
  29. c=g.boolbox(msg='Shall I continue?', title='hello', choices=('[Y]es', '[N]o'))  #返回 1(True) 或者0 (False)
  30. print(c)
  31. d=g.buttonbox('大家说我长得帅吗?',image='te.gif', choices=('帅', '不帅', '你猜啊'))
  32. print(d)
  33. n=g.indexbox(msg='Shall I continue?', title=' ', choices=('Yes', 'No'), image=None)
  34. print(n)    #选择第一个按钮的时候返回序号 0, 选择第二个按钮的时候返回序号 1


  35. #为用户提供一系列选项
  36. choices = ["谈恋爱", "编程", "OOXX", "琴棋书画"]
  37. e=g.multchoicebox(msg='Pick an item', title='', choices=choices)  #支持用户选择0、1 、多个选项;返回所选项构成的列表
  38. print(e)

  39. f1=g.integerbox(msg='请输入整数(0-99):', title='aaa', lowerbound=0, upperbound=99, image=None, root=None)
  40. print(f1)

  41. m=g.multenterbox(msg='调查问卷', title=' ', fields=['姓名','籍贯'], values=[]) #返回value,形式为列表
  42. print(m)


  43. #让用户输入信息
  44. str1=g.enterbox(msg='Enter something.', title=' ', default='', strip=True, image=None, root=None)
  45. print(str1)

  46. str2=g.passwordbox(msg='Enter your password.', title=' ', default='', image=None, root=None)  #返回列表
  47. print(str2)

  48. str3=g.multpasswordbox(msg='请输入用户名和密码', title='用户登陆', fields=('ssid','psw'), values=()) #返回列表
  49. print(str3)

  50. names='【asd.tx】'
  51. file=open("E:\\test\\asd.txt",'r')
  52. g.textbox(msg='文件%s内容如下'%(names), title="", text=file,codebox=False)

  53. names='【asd.tx】'
  54. file=open("E:\\test\\asd.txt",'r')
  55. g.codebox(msg='', title=' ', text=file)



  56. #目录与文件
  57. a=g.diropenbox(msg=None, title=None, default=None) #返回用户选择的目录名(包含完整路径),如果用户选择 “Cancel” 则返回 None
  58. print(a)

  59. b=g.fileopenbox(msg=None, title=None, default='*',filetypes= ["*.txt"])  #返回用户选择的文件名(包含完整路径)
  60. #default 默认的参数是 '*',即匹配所有格式的文件
  61. #default="c:/fishc/test*.py" 即显示 C:\fishc 文件夹下所有的名字以 test 开头的 Python 文件
  62. #multiple 参数,如果为 True 则表示可以同时选择多个文件  #在当前文件路径
  63. print(b)

  64. c=g.filesavebox(msg=None, title=None, default='', filetypes=None)  #选择文件需要保存的路径
  65. #default 参数应该包含一个文件名(例如当前需要保存的文件名),当然也可以设置为空的,或者包含一个文件格式掩码的通配符。
  66. print(c)


  67. #记住用户的设置:
  68. #定义一个类"settings"必须创建一个该类的实例化对象"settings";
  69. #设置类的构造函数(__init__ 方法)必须初始化所有的你想要它所记住的那些值。
  70. #一旦你这样做了,你就可以在 settings 对象中通过设定值去实例化变量,从而很简单地记住设置。
  71. #之后使用 settings.store() 方法在硬盘上持久化保存。

  72. from easygui import EgStore

  73. class Settings(EgStore):    # 定义一个叫做“Settings”的类,继承自EgStore类

  74.     def __init__(self, filename):  # 需要指定文件名file_name
  75.         self.author = ""       # 指定要记住的属性名称
  76.         self.book = ""

  77.         # 必须执行下面两个语句
  78.         self.filename = filename
  79.         self.restore()

  80. # 创建“Settings”的实例化对象“settings”
  81. settingsFilename = "settings.txt"
  82. settings = Settings(settingsFilename)    #创建一个Settings(类)的实例对象settings

  83. author = "小甲鱼"
  84. book = "《零基础入门学习Pyhon》"

  85. # 将上面两个变量的值保存到“settings”对象中
  86. settings.author = author
  87. settings.book = book
  88. settings.store()      #Save this store to a pickle file,名称为settingsFilename 中的 "settings.txt"
  89. print("\n保存完毕\n")


  90. #捕获异常
  91. try:
  92.     print('I Love FishC.com!')
  93.     int('FISHC') # int不可用于字符串,因此会产生异常
  94. except:
  95.     g.exceptionbox()  #当异常出现的时候,exceptionbox()会将堆栈追踪显示在一个 codebox() 中,并且允许你做进一步的处理。</font>
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-29 20:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表