资源简介
设计一个GUI界面的ATM系统,该系统可以实现现实生活中ATM机器的大部分功能,涉及到插卡,退卡,取款,存款等操作。
用户插卡:选择已有卡号,输入密码进行登录。
ATM系统功能:查询余额;
转账:输入乙方银行卡和转账金额;
存款;
流水记录:查询银行卡账单
取款;
退卡。
代码片段和文件信息
import tkinter as tk
from tkinter import ttk
import datetime
import tkinter.messagebox
class Windows:
user_info = {}
def __init__(self master=None):
self.atm = ATM()
self.master = master
self.choose_card()
self.pwd_judge = 0
def choose_card(self):
self.root1 = tk.frame(self.master)
self.root1[‘width‘] = 300
self.root1[‘height‘] = 100
self.lbl1 = tk.Label(self.root1 text=‘银行卡:‘ font=(‘microsoft yahei‘ 10))
self.lbl1.place(x=25 y=30)
self.cbox1 = ttk.Combobox(self.root1)
self.cbox1[‘values‘] = self.atm.choose_card()
self.cbox1.place(x=80 y=32)
self.btn1 = tk.Button(self.root1 text=‘确认‘ font=(‘microsoft yahei‘ 10)
command=lambda: self.confirm(self.cbox1.get()))
self.btn1.place(x=250 y=28)
self.root1.pack()
def confirm(self user):
if user != ‘‘:
self.root1.destroy()
self.root1 = tk.frame(self.master)
self.root1[‘width‘] = 300
self.root1[‘height‘] = 100
self.lbl2 = tk.Label(self.root1 text=‘账户:‘ + user font=(‘microsoft yahei‘ 10))
self.lbl2.place(x=25 y=20)
self.lbl3 = tk.Label(self.root1 text=‘密码:‘ font=(‘microsoft yahei‘ 10))
self.lbl3.place(x=25 y=40)
self.entry1 = tk.Entry(self.root1 show=“*“)
self.entry1.place(x=70 y=40)
self.btn2 = tk.Button(self.root1 text=‘确认‘ font=(‘microsoft yahei‘ 10) width=10
command=lambda: self.T_F(user self.entry1.get()))
self.btn2.place(x=90 y=70)
self.root1.pack()
else:
tkinter.messagebox.showinfo(‘提示‘ ‘请选择卡号!‘)
def T_F(self user pwd):
self.flag = False
for i in self.atm.Card:
if i[‘user‘] == int(user):
Windows.user_info = i
if i[‘pwd‘] == int(pwd):
self.flag = True
break
if self.flag:
self.c_to_f()
elif self.pwd_judge == 2:
tkinter.messagebox.showinfo(‘提示‘ ‘密码错误3次,银行卡冻结至明天!‘)
exit()
else:
self.pwd_judge += 1
tkinter.messagebox.showinfo(‘提示‘ ‘密码错误!你还有{0}次机会‘.format(3 - self.pwd_judge))
def c_to_f(self):
tkinter.messagebox.showinfo(‘提示‘ ‘即将进入atm系统‘)
self.root1.destroy()
self.function_board()
def function_board(self):
if self.root1:
self.root1.destroy()
self.root1 = tk.frame(self.master)
self.root1[‘width‘] = 300
self.root1[‘height‘] = 100
self.buttons = [[“查询余额“ “存款“ “取款“]
[“转账“ “流水记录“ “退卡“]]
for r in range(2):
for c in range(3):
def cmd(key=self.buttons[r][c]):
self.cli
- 上一篇:PYTHON的winio
- 下一篇:python GUI井字棋
相关资源
- python实现SGBM图像匹配算法
- python实现灰度直方图均衡化
- scrapy_qunar_one
- Python学习全系列教程永久可用
- python简明教程.chm
- 抽奖大转盘python的图形化界面
- 双边滤波器实验报告及代码python
- python +MYSQL+HTML实现21蛋糕网上商城
- Python-直播答题助手自动检测出题搜索
- OpenCV入门教程+OpenCV官方教程中文版
- Python 串口工具源码+.exe文件
- Python开发的全栈股票系统.zip
- Python操作Excel表格并将其中部分数据写
- python书籍 PDF
- 利用python绘制散点图
- python+labview+No1.vi
- 老男孩python项目实战
- python源码制作whl文件.rar
- python3.5可用的scipy
- PYTHON3 经典50案例.pptx
- 计算机科学导论-python.pdf
- python模拟鼠标点击屏幕
- windows鼠标自动点击py脚本
- 鱼c小甲鱼零基础学python全套课后题和
- Python 练习题100道
- Practical Programming 2nd Edition
- wxPython Application Development Cookbook
- python 3.6
- Python 3.5.2 中文文档 互联网唯一CHM版本
- python3.5.2.chm官方文档
评论
共有 条评论