Python编写的猜数字小游戏~~~基于Tkinter库

您所在的位置:网站首页 编写一个猜数游戏程序1到10的游戏规则 Python编写的猜数字小游戏~~~基于Tkinter库

Python编写的猜数字小游戏~~~基于Tkinter库

2024-07-06 21:02| 来源: 网络整理| 查看: 265

Python编写猜数字小游戏 编写猜数字小游戏一、界面1.PyQt52. wxPython3. PyGTK 二、Tkinter功能① 15种核心组件② 组件的放置和排版(pack,grid,place) 三、代码分解1.创建主界面2.填充内容3.添加button键4.猜数字函数 四、完整纯净代码五、总结

编写猜数字小游戏

猜数字小游戏就是顾名思义,程序随机生成一个数字,我们根据提示去猜测,直至猜出正确的数字。

一、界面

Python标准库中内置了一个GUI库——Tkinter,这个库基于Tcl/Tk开发,这个库比较陈旧,提供的开发空间也比较有限,编写出来的GUI界面风格现代程序的GUI风格相差甚远,从用户体验的角度说,tkinter库并不成熟。 这里介绍三个高质量的用户图形界面Python生态库:PyQt5,wxPython,PyGTK。

1.PyQt5

PyQt5是Qt5应用框架的Python第三方库,它有超过620个类和近6000个函数和方法。它是Python中最为成熟的商业级GUI第三方库。这个库是Python语言当前最好的GUI第三方库,它可以在Windows、Linux和MacOS X等操作系统上跨平台使用。

2. wxPython

wxPython是Python语言的一套优秀的GUI图形库,它是跨平台GUI库wxWidgets的Python封装,可以使Python程序员能够轻松地创建健壮可靠、功能强大的图形用户界面的程序。其中,wxWidgets使用C++语言编写,将C/C++语言编写的功能库进行二次封装是Python语言的重要特点之一。

3. PyGTK

PyGTK是基于GTK+的Python语言封装,它提供了各式的可视元素和功能,能够轻松创建具有图形用户界面的程序。PyGTK具有跨平台性,利用它编写的代码能够不加修改的稳定运行在各操作系统中,如Windows,MacOS,Linux等。

二、Tkinter功能 ① 15种核心组件 名称功能Button按钮Canvas绘图形组件,可以在其中绘制图形Checkbutton复选框Entry文本框(单行)Text文本框(多行)Frame框架,将几个组件组成一组Label标签,可以显示文字或图片Listbox列表框Menu菜单Menubutton它的功能完全可以使用Menu替代Message与Label组件类似,但是可以根据自身大小将文本换行Radiobutton单选框Scale滑块;允许通过滑块来设置一数字值Scrollbar滚动条;配合使用canvas, entry, listbox, and text窗口部件的标准滚动条Toplevel用来创建子窗口窗口组件 ② 组件的放置和排版(pack,grid,place)

pack组件设置位置属性参数:

名称功能after将组件置于其他组件之后before将组件置于其他组件之前anchor组件的对齐方式,顶对齐’n’,底对齐’s’,左’w’,右’e’side组件在主窗口的位置,可以为’top’,‘bottom’,‘left’,‘right’(使用时tkinter.TOP,tkinter.LEFT)fill填充方式 (Y,垂直,X,水平,BOTH,水平+垂直),是否在某个方向充满窗口expand1可扩展,0不可扩展,代表控件是否会随窗口缩放

grid组件使用行列的方法放置组件的位置,参数有:

名称功能column组件所在的列起始位置columnspan组件的列宽;跨列数row组件所在的行起始位置rowspan组件的行宽;rowspam=3 跨3行sticky对齐方式:NSEW(北南东西)上下左右padx、padyx方向间距、y方向间距(padx=5)

place组件可以直接使用坐标来放置组件,参数有:

名称功能anchor组件对齐方式;n, ne, e, se, s, sw, w, nw, or center ; (‘n’==N)x组件左上角的x坐标y组件左上角的y坐标relx组件左上角相对于窗口的x坐标,应为0-1之间的小数;图形位置相对窗口变化rely组件左上角相对于窗口的y坐标,应为0-1之间的小数width组件的宽度heitht组件的高度relwidth组件相对于窗口的宽度,0-1之间的小数,图形宽度相对窗口变化relheight组件相对于窗口的高度,0-1之间的小数 三、代码分解 1.创建主界面

首先导入tkinter这个标准库,然后创建,再去设置窗口的标题,大小等,然后在实现界面的消息循环。

import tkinter shuzi = tkinter.Tk() #生成主窗口 shuzi.title('猜数字游戏') #主窗口加标题 shuzi.geometry('400x300') # 设置主窗口的大小 shuzi.mainloop()

效果展示 在这里插入图片描述

2.填充内容 #建立一个文本,设置字的颜色,内容,字的字体、大小 label1 = tkinter.Label(shuzi,fg='black',text="猜数字小游戏",font=('宋体',35,'bold')) #设置文本框的位置 label1.grid(padx=75) label2 = tkinter.Label(shuzi,fg='black',text="游戏规则:\n从1到100中猜数字!!!",font=('宋体',15,'bold')) label2.grid(padx=10,pady=10) label3 = tkinter.Label(shuzi,fg='black',text="请输入你所猜测的数字:",font=('宋体',15,'bold')) label3.grid(padx=10,pady=10) text = tkinter.Entry(shuzi,width=30) text.grid(padx=100)

效果展示 在这里插入图片描述

3.添加button键 # 建立一个按钮,command:通过按钮触发比较函数 button1 = tkinter.Button(shuzi, text='确定',command=compare, width=10, font=('微软雅黑', 10,)) # 设置按钮的位置 button1.grid(padx=10,pady=10) # 建立一个按钮,command:通过按钮触发界面退出,bg是背景颜色 button2 = tkinter.Button(shuzi, text='退出游戏',command=shuzi.quit, width=10, bg='yellow', font=('微软雅黑', 10,)) button2.grid(padx=10,pady=10)

效果展示 在这里插入图片描述

4.猜数字函数

首先定义随机数number,然后获取用户输入的数字,比较大小,然后跳出不同的提示框。

import random number = random.randint(1,100) def compare(): use = int(text.get()) if use == '': tkinter.messagebox.showerror('警告','输入不能让为空!!!') elif use > number: tkinter.messagebox.showinfo('不正确', '大,大了,老弟!加油!') elif use number: tkinter.messagebox.showinfo('不正确', '大,大了,老弟!加油!') elif use


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3