目录

一.代码

二.分析

1.自定义库

2.基础设置+导入

3.标签

4.菜单(主要)

5.显示窗口

三.投票环节


一.代码

下面是一个使用python写的菜单程序,以及分析.

from tkinter import *
from csz import *
#基础程序配置
root=Tk()
root.title("菜单程序")
root.resizable(False,False)
root.geometry("300x100+500+500")
root.iconbitmap("E:/Games.ico")
img = PhotoImage(file="E:/6.png")l = Label(root, image=img)
l.pack()
#菜单函数
def help():top = Toplevel()top.title("help")top.geometry("200x50+100+500")msg = Message(top, text="这是一个游戏的菜单程序")msg.pack()
#创建一个顶级菜单
menubar = Menu(root)
# 创建一个下拉菜单
filemenu = Menu(menubar, tearoff=False)
#模板:filemenu.add_command(label="", command=)
filemenu.add_command(label="介绍", command=help)
filemenu.add_command(label="退出", command=root.destroy)
menubar.add_cascade(label = "帮助", menu = filemenu)# 创建另一个下拉菜单
editmenu = Menu(menubar, tearoff=False)
editmenu.add_command(label="猜数字", command=main)
menubar.add_cascade(label="游戏", menu=editmenu)#显示菜单
root.config(menu = menubar)root.mainloop()

上面用的自定义库csz.py:

import random
import tkinter
import tkinter.messagebox
import tkinter.simpledialog
class Guess_Game(object):def __init__(self):#初始化主窗口self.root=tkinter.Tk()#设置窗口标题self.root.title('猜数字游戏——Keep_Trying_Go')#设置窗口大小self.root.geometry('480x180+400+300')#设置窗口为不允许改变大小self.root.resizable(False,False)#创建画布self.canvas=tkinter.Canvas(self.root,height=400,width=700,borderwidth=2)#用户猜的次数self.varNumber=tkinter.StringVar(self.root,value='0')#允许用户猜的次数self.totalTimes=tkinter.IntVar(self.root,value=0)#用户已经猜的次数self.already=tkinter.IntVar(self.root,value=0)#记录当前生成的随机数self.currentNumber=tkinter.IntVar(self.root,value=0)#记录玩家玩游戏的总次数self.times=tkinter.IntVar(self.root,value=0)#记录玩家猜对的总次数self.right=tkinter.IntVar(self.root,value=0)self.lb=tkinter.Label(self.root,text='请输入一个整数: ')self.lb.place(x=70,y=50,width=100,height=30)#用户猜的次数并输入文本框self.entryNumber=tkinter.Entry(self.root,textvariable=self.varNumber)self.entryNumber.place(x=170,y=50,width=150,height=30)#游戏开始之后才允许输入数字self.entryNumber['state']='disabled'self.button=tkinter.Button(self.root,text='Start Game',command=self.buttonClick)self.button.place(x=150,y=100,width=80,height=30)#按钮单击事件处理函数def closeWindows(self):self.message='共玩游戏 {0}次,猜对 {1}次!\n欢迎下次再玩!'self.message=self.message.format(self.times.get(),self.right.get())tkinter.messagebox.showinfo('战绩',self.message)def buttonClick(self):if self.button['text']=='Start Game':#每次游戏时允许用户自定义数值的范围#玩家必须输入正确的数字while True:try:#simpledialog模块参数:title指定对话框的标题;prompt 显示的文字;initialvalue 指定输入框的初始值;self.start=tkinter.simpledialog.askinteger('允许的最小整数','最小数',initialvalue=1)breakexcept:passwhile True:try:self.end=tkinter.simpledialog.askinteger('允许的最大整数','最大数',initialvalue=10)breakexcept:pass#在用户自定义的数值范围内生成随机数self.currentNumber.set(random.randint(self.start,self.end))#用户自定义一共允许猜的次数#玩家必须输入正确的数字while True:try:self.t=tkinter.simpledialog.askinteger('最多允许猜几次?','总次数',initialvalue=3)self.totalTimes.set(self.t)breakexcept:pass#已猜的次数初始化为0self.already.set(0)self.button['text']='剩余次数: '+str(self.t)#将文本框初始化为0self.varNumber.set('0')#允许用户开始输入数字self.entryNumber['state']='normal'#玩游戏的次数加一self.times.set(self.times.get()+1)else:#一共允许用户猜的次数self.total=self.totalTimes.get()#本次游戏的正确答案self.current=self.currentNumber.get()try:self.x=int(self.varNumber.get())except:tkinter.messagebox.showerror('抱歉','必须输入整数')returnif self.x==self.current:tkinter.messagebox.showinfo('恭喜','猜对了')self.button['text']='Start Game'#禁用文本框self.entryNumber['state']='disabled'self.right.set(self.right.get()+1)else:#已猜次数加一self.already.set(self.already.get()+1)if self.x>self.current:tkinter.messagebox.showerror('抱歉','猜的次数太大了')else:tkinter.messagebox.showerror('抱歉', '猜的次数太小了')#可猜的的次数已经用完if self.already.get()==self.total:tkinter.messagebox.showerror('抱歉','游戏结束了,正确的数是: '+str(self.currentNumber.get()))self.button['text']='Start Game'#禁用文本框self.entryNumber['state']='disabled'else:self.button['text']='剩余次数: '+str(self.total-self.already.get())def main():g=Guess_Game()# g.root.protocol('WM_DELETE_WINDOW', g.closeWindow())tkinter.mainloop()g.closeWindows()
if __name__ == '__main__':main()

二.分析

1.自定义库

就是一个猜数字的代码。

2.基础设置+导入

from tkinter import *
from csz import *
#基础程序配置
root=Tk()
root.title("菜单程序")
root.resizable(False,False)
root.geometry("300x100+500+500")
root.iconbitmap("E:/Games.ico")

窗口初始化(图标自己添)

3.标签

img = PhotoImage(file="E:/6.png")l = Label(root, image=img)
l.pack()

这段是主页上的图片(图片自加)

4.菜单(主要)

#菜单函数
def help():top = Toplevel()top.title("help")top.geometry("200x50+100+500")msg = Message(top, text="这是一个游戏的菜单程序")msg.pack()
#创建一个顶级菜单
menubar = Menu(root)
# 创建一个下拉菜单
filemenu = Menu(menubar, tearoff=False)
#模板:filemenu.add_command(label="", command=)
filemenu.add_command(label="介绍", command=help)
filemenu.add_command(label="退出", command=root.destroy)
menubar.add_cascade(label = "帮助", menu = filemenu)# 创建另一个下拉菜单
editmenu = Menu(menubar, tearoff=False)
editmenu.add_command(label="猜数字", command=main)
menubar.add_cascade(label="游戏", menu=editmenu)

思路:

  1. 函数
  2. 创建顶菜单
  3. 创建下拉菜单
  4. 加入子菜单

5.显示窗口

#显示菜单
root.config(menu = menubar)root.mainloop()

三.投票环节

Python菜单程序制作相关推荐

  1. python制作程序菜单,Python 开发:制作一个简易的点菜系统(附源码)

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于海唤鱼杂记客栈 ,作者:海唤鱼杂记客栈 Python GUI编程:高 ...

  2. python计算器教程,用Python程序制作一个简单的计算器

    用Python程序制作一个简单的计算器 在此示例中,您将学习创建一个简单的计算器,该计算器可以根据用户的输入进行加,减,乘或除. 要理解此示例,您应该了解以下Python编程主题: 通过函数创建简单计 ...

  3. 从零开始学习python | 实例讲解如何制作Python模式程序

    本文分享自华为云社区<从零开始学习python | 通过示例学习如何制作Python模式程序>,原文作者:Yuchuan . Python编程语言很容易学习.易于语法实现的各种库使其脱颖而 ...

  4. python学习(10)字典学习,写一个三级菜单程序

    学习了字典的应用.按老师的要求写一个三级菜单程序. 三级菜单程序需求如下: 1.深圳市的区--街道--社区---小区4级 2.建立一个字典,把各级区域都装进字典里 3.用户可以从1级进入2级再进入3级 ...

  5. python卸载_如何为Python程序制作Windows安装包?

    我们使用Python可以编写很多提高工作和学习效率的小工具,在编写完之后,如果我们想将其分享给更多的人使用,那么最便捷的方法就是将其打包为可执行程序. 在Windows环境下,我们使用Pyinstal ...

  6. 【有趣的Python小程序】Python多个简单上手的库制作WalkLattice 走格子游戏 (思路篇)上

    篇写上一个思路篇,那么今天我们就来完成这一项工作 源代码和配套文件 链接: https://caiyun.139.com/m/i?135ClY1yWrSKX 提取码:e4pq 复制内容打开中国移动云盘 ...

  7. 【python作业2回顾】——编写购物车程序、三级菜单程序

    第一部分:课堂小练习的思考总结 一.购物车程序 课程中要求所用时间:30分钟 实际自己所用时间:3个小时 这个练习所用时间严重超标,1.5小时用来做基本需求,1.5小时用来做优化了. 需求描述: 1. ...

  8. Python基础(编写程序制作英文学习词典)

    制作英文学习词典.编写程序制作英文学习词典,词典有3个基本功能:添加.查询和退出.程序读取源文件路径下的txt格式词典文件,若没有就创建一个.词典文件存储方式为"英文单词 中文单词" ...

  9. python语言程序设计基础程序练习题7.5制作英文学习词典

    7.5  制作英文学习词典.编写程序制作英文学习词典,词典有3个基本功能添加.查询和退出.程序读取源文件路径下的txt格式词典文件,若没有就创建一个.词典文件存储方式为"英文单词 中文单词& ...

最新文章

  1. 谷歌浏览器 chrome 查看当前页面cookie
  2. 呼和浩特 计算机编程入门先学什么,学好UG编程先学什么?应该先弄懂这些问题...
  3. 深度CTR预估模型中的特征自动组合机制演化简史
  4. 汇总好玩的cmd命令大全
  5. [整理]WebUploader + SpringMVC 实现多文件断点续传之二 多文件断点续传
  6. Android SoundPool循环播放
  7. CNN卷积神经网络原理讲解+图片识别应用(附源码)
  8. 构建简单的智能客服系统(三)——基于 UniMRCP 实现讯飞 TTS MRCP Server
  9. 软素质面试题分享以及一些面试技巧和面试礼仪
  10. 计算机局域网地址设置方法,怎么设置局域网电脑的ip地址和DNS?
  11. Codeforces Round #531 (Div. 3) F. Elongated Matrix (状态压缩dp)
  12. 苹果充电显示不支持此配件_水果手机充电时,显示不支持此配件时的应急处理小窍门...
  13. [技术]使用人工智能玩微信跳一跳
  14. IBM P系列小型机更换电池步骤
  15. 【Unity+MySQL】实现简单的注册登录系统
  16. Centos8桌面图标不显示问题
  17. 干货|app自动化测试之Appium 原理 与 JsonWP 协议分析
  18. “独享宽带”是什么意思?
  19. Win10共享打印机提示0x0000011b错误代码的解决方法
  20. Web大学生网页作业成品:个人博客主页 (纯HTML+CSS代码)

热门文章

  1. Java删除文件夹下所有文件的方法
  2. java算法(1)---余弦相似度计算字符串相似率
  3. 个人看书学习java的心得!
  4. hyperledger Fabric make docker错误的解决方案(免qiang下载,适用Fabric 1.*的所有版本)
  5. SpringBoot--获取路径中的参数(x-www-form-urlencoded)--方法/实例
  6. 前端使用Vue3、后端使用Django的项目使用Idap认证时如何实现登出效果
  7. Oracle pivot函数解析与使用
  8. 移动广告作弊流量的浅潜规则
  9. 动态规划:青蛙跳台阶和翻译字符串
  10. python代码,在字符串的多个指定位置插入符号