python3.5 tkinter实现页面跳转


Posted in Python onJanuary 30, 2018

本文实例为大家分享了tkinter实现页面跳转的具体代码,供大家参考,具体内容如下

主函数main.py

from tkinter import * 
from LoginPage import * 
 
root = Tk() 
root.title('小程序') 
LoginPage(root) 
root.mainloop()

登陆界面函数LoginPage.py

from tkinter import * 
from tkinter.messagebox import * 
from MainPage import * 
 
class LoginPage(object): 
 def __init__(self, master=None): 
  self.root = master #定义内部变量root 
  self.root.geometry('%dx%d' % (300, 180)) #设置窗口大小 
  self.username = StringVar() 
  self.password = StringVar() 
  self.createPage() 
 
 def createPage(self): 
  self.page = Frame(self.root) #创建Frame 
  self.page.pack() 
  Label(self.page).grid(row=0, stick=W) 
  Label(self.page, text = '账户: ').grid(row=1, stick=W, pady=10) 
  Entry(self.page, textvariable=self.username).grid(row=1, column=1, stick=E) 
  Label(self.page, text = '密码: ').grid(row=2, stick=W, pady=10) 
  Entry(self.page, textvariable=self.password, show='*').grid(row=2, column=1, stick=E) 
  Button(self.page, text='登陆', command=self.loginCheck).grid(row=3, stick=W, pady=10) 
  Button(self.page, text='退出', command=self.page.quit).grid(row=3, column=1, stick=E) 
 
 def loginCheck(self): 
  name = self.username.get() 
  secret = self.password.get() 
  if name=='wangliang' and secret=='123456': 
   self.page.destroy() 
   MainPage(self.root) 
  else: 
   showinfo(title='错误', message='账号或密码错误!')

主界面函数MainPage.py

from tkinter import * 
from view import * #菜单栏对应的各个子页面 
 
class MainPage(object): 
 def __init__(self, master=None): 
  self.root = master #定义内部变量root 
  self.root.geometry('%dx%d' % (600, 400)) #设置窗口大小 
  self.createPage() 
 
 def createPage(self): 
  self.inputPage = InputFrame(self.root) # 创建不同Frame 
  self.queryPage = QueryFrame(self.root) 
  self.countPage = CountFrame(self.root) 
  self.aboutPage = AboutFrame(self.root) 
  self.inputPage.pack() #默认显示数据录入界面 
  menubar = Menu(self.root) 
  menubar.add_command(label='数据录入', command = self.inputData) 
  menubar.add_command(label='查询', command = self.queryData) 
  menubar.add_command(label='统计', command = self.countData) 
  menubar.add_command(label='关于', command = self.aboutDisp) 
  self.root['menu'] = menubar # 设置菜单栏 
 
 def inputData(self): 
  self.inputPage.pack() 
  self.queryPage.pack_forget() 
  self.countPage.pack_forget() 
  self.aboutPage.pack_forget() 
 
 def queryData(self): 
  self.inputPage.pack_forget() 
  self.queryPage.pack() 
  self.countPage.pack_forget() 
  self.aboutPage.pack_forget() 
 
 def countData(self): 
  self.inputPage.pack_forget() 
  self.queryPage.pack_forget() 
  self.countPage.pack() 
  self.aboutPage.pack_forget() 
 
 def aboutDisp(self): 
  self.inputPage.pack_forget() 
  self.queryPage.pack_forget() 
  self.countPage.pack_forget() 
  self.aboutPage.pack()

子界面函数view,py

from tkinter import * 
from tkinter.messagebox import * 
 
class InputFrame(Frame): # 继承Frame类 
 def __init__(self, master=None): 
  Frame.__init__(self, master) 
  self.root = master #定义内部变量root 
  self.itemName = StringVar() 
  self.importPrice = StringVar() 
  self.sellPrice = StringVar() 
  self.deductPrice = StringVar() 
  self.createPage() 
 
 def createPage(self): 
  Label(self).grid(row=0, stick=W, pady=10) 
  Label(self, text = '药品名称: ').grid(row=1, stick=W, pady=10) 
  Entry(self, textvariable=self.itemName).grid(row=1, column=1, stick=E) 
  Label(self, text = '进价 /元: ').grid(row=2, stick=W, pady=10) 
  Entry(self, textvariable=self.importPrice).grid(row=2, column=1, stick=E) 
  Label(self, text = '售价 /元: ').grid(row=3, stick=W, pady=10) 
  Entry(self, textvariable=self.sellPrice).grid(row=3, column=1, stick=E) 
  Label(self, text = '优惠 /元: ').grid(row=4, stick=W, pady=10) 
  Entry(self, textvariable=self.deductPrice).grid(row=4, column=1, stick=E) 
  Button(self, text='录入').grid(row=6, column=1, stick=E, pady=10) 
 
 
class QueryFrame(Frame): # 继承Frame类 
 def __init__(self, master=None): 
  Frame.__init__(self, master) 
  self.root = master #定义内部变量root 
  self.itemName = StringVar() 
  self.createPage() 
 
 def createPage(self): 
  Label(self, text='查询界面').pack() 
 
class CountFrame(Frame): # 继承Frame类 
 def __init__(self, master=None): 
  Frame.__init__(self, master) 
  self.root = master #定义内部变量root 
  self.createPage() 
 
 def createPage(self): 
  Label(self, text='统计界面').pack() 
 
 
class AboutFrame(Frame): # 继承Frame类 
 def __init__(self, master=None): 
  Frame.__init__(self, master) 
  self.root = master #定义内部变量root 
  self.createPage() 
 
 def createPage(self): 
  Label(self, text='关于界面').pack()

效果图:

python3.5 tkinter实现页面跳转

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
在Python中marshal对象序列化的相关知识
Jul 01 Python
python 网络编程详解及简单实例
Apr 25 Python
python执行CMD指令,并获取返回的方法
Dec 19 Python
使用Django简单编写一个XSS平台的方法步骤
Mar 25 Python
python 判断字符串中是否含有汉字或非汉字的实例
Jul 15 Python
python数据类型可变不可变知识点总结
Mar 06 Python
python构造IP报文实例
May 05 Python
Python应用自动化部署工具Fabric原理及使用解析
Nov 30 Python
Jupyter Notebook添加代码自动补全功能的实现
Jan 07 Python
python re模块常见用法例举
Mar 01 Python
Pycharm 如何设置HTML文件自动补全代码或标签
May 21 Python
python中pandas对多列进行分组统计的实现
Jun 18 Python
python 连接各类主流数据库的实例代码
Jan 30 #Python
python操作oracle的完整教程分享
Jan 30 #Python
Python使用wxPython实现计算器
Jan 30 #Python
python链接oracle数据库以及数据库的增删改查实例
Jan 30 #Python
python实现简易版计算器
Jun 22 #Python
python列表的增删改查实例代码
Jan 30 #Python
Python+tkinter使用40行代码实现计算器功能
Jan 30 #Python
You might like
给初学PHP的5个入手程序
2006/11/23 PHP
PHP中通过HTTP_USER_AGENT判断是否为手机移动终端的函数代码
2013/02/14 PHP
经典PHP加密解密函数Authcode()修复版代码
2015/04/05 PHP
Yii中CGridView实现批量删除的方法
2015/12/28 PHP
浅谈php调用python文件
2019/03/29 PHP
图片之间的切换
2006/06/26 Javascript
jQuery的实现原理的模拟代码 -4 重要的扩展函数 extend
2010/08/03 Javascript
JS仿flash上传头像效果实现代码
2011/07/18 Javascript
JavaScript中数据结构与算法(一):栈
2015/06/19 Javascript
详解JavaScript中的4种类型识别方法
2015/09/14 Javascript
移动端横屏的JS代码(beta)
2016/05/16 Javascript
jQuery插件HighCharts绘制2D柱状图、折线图和饼图的组合图效果示例【附demo源码下载】
2017/03/09 Javascript
微信小程序实战之轮播图(3)
2017/04/17 Javascript
Vue.js添加组件操作示例
2018/06/13 Javascript
解决vue的变量在settimeout内部效果失效的问题
2018/08/30 Javascript
[02:28]DOTA2英雄基础教程 狼人
2013/12/23 DOTA
[43:58]DOTA2-DPC中国联赛定级赛 LBZS vs SAG BO3第一场 1月8日
2021/03/11 DOTA
py中的目录与文件判别代码
2008/07/16 Python
Python中AND、OR的一个使用小技巧
2015/02/18 Python
Python3实现将本地JSON大数据文件写入MySQL数据库的方法
2018/06/13 Python
pycharm: 恢复(reset) 误删文件的方法
2018/10/22 Python
python pandas读取csv后,获取列标签的方法
2018/11/12 Python
python实现图片中文字分割效果
2019/07/22 Python
Python3 使用selenium插件爬取苏宁商家联系电话
2019/12/23 Python
python scrapy重复执行实现代码详解
2019/12/28 Python
python argparse传入布尔参数false不生效的解决
2020/04/20 Python
Vinatis德国:法国领先的葡萄酒邮购公司
2020/09/07 全球购物
“学雷锋活动月”总结
2014/03/09 职场文书
公务员更新知识培训实施方案
2014/03/31 职场文书
遗嘱公证书标准样本
2014/04/08 职场文书
商场周年庆活动方案
2014/08/19 职场文书
个人授权委托书模板
2014/09/14 职场文书
2014年学生会生活部工作总结
2014/11/07 职场文书
学校施工安全责任书
2015/01/29 职场文书
62句有关感恩节文案(推荐收藏)
2019/11/28 职场文书
Spring Security动态权限的实现方法详解
2022/06/16 Java/Android