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比较文件夹比另一同名文件夹多出的文件并复制出来的方法
Mar 05 Python
python使用PyGame模块播放声音的方法
May 20 Python
Phantomjs抓取渲染JS后的网页(Python代码)
May 13 Python
python如何生成各种随机分布图
Aug 27 Python
Python 保存矩阵为Excel的实现方法
Jan 28 Python
Python 一键制作微信好友图片墙的方法
May 16 Python
基于Python的微信机器人开发 微信登录和获取好友列表实现解析
Aug 21 Python
python nmap实现端口扫描器教程
May 28 Python
Python中的单下划线和双下划线使用场景详解
Sep 09 Python
Python Opencv中用compareHist函数进行直方图比较对比图片
Apr 07 Python
Python基础教程(一)——Windows搭建开发Python开发环境
Jul 20 Python
Python爬虫防封ip的一些技巧
Aug 06 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
PHP5.3.1 不再支持ISAPI
2010/01/08 PHP
利用PHP实现智能文件类型检测的实现代码
2011/08/02 PHP
ThinkPHP单字母函数(快捷方法)使用总结
2014/07/23 PHP
PHP 5.6.11中CURL模块问题的解决方法
2016/08/08 PHP
php使用PDO从数据库表中读取数据的实现方法(必看)
2017/06/02 PHP
php和nginx交互实例讲解
2019/09/24 PHP
浅谈PHP5.6 与 PHP7.0 区别
2019/10/09 PHP
基于jquery的监控数据是否发生改变
2011/04/11 Javascript
jquery live()调用不存在的解决方法
2014/02/26 Javascript
JavaScript模拟数组合并concat
2016/03/06 Javascript
javascript中不易分清的slice,splice和split三个函数
2016/03/29 Javascript
BootStrap实现树形目录组件代码详解
2016/06/21 Javascript
Vue.js绑定HTML class数组语法错误的原因分析
2016/10/19 Javascript
Jquery实现跨域异步上传文件总结
2017/02/03 Javascript
解决vue-cli中stylus无法使用的问题方法
2017/06/19 Javascript
微信小程序select下拉框实现效果
2019/05/15 Javascript
koa-router路由参数和前端路由的结合详解
2019/05/19 Javascript
Python 实现数据库更新脚本的生成方法
2017/07/09 Python
解决python "No module named pip" 的问题
2018/10/13 Python
详解Python 调用C# dll库最简方法
2019/06/20 Python
python 处理微信对账单数据的实例代码
2019/07/19 Python
图解python全局变量与局部变量相关知识
2019/11/02 Python
python tqdm 实现滚动条不上下滚动代码(保持一行内滚动)
2020/02/19 Python
Python 多线程共享变量的实现示例
2020/04/17 Python
树莓派升级python的具体步骤
2020/07/05 Python
Python 调用 ES、Solr、Phoenix的示例代码
2020/11/23 Python
Python用access判断文件是否被占用的实例方法
2020/12/17 Python
浅谈CSS3鼠标移入图片动态提示效果(transform)
2017/11/06 HTML / CSS
JSF界面控制层技术
2013/06/17 面试题
数学专业推荐信范文
2013/11/21 职场文书
酒店个人求职信范文
2014/01/25 职场文书
员工工作能力评语
2014/12/31 职场文书
2015年检验科工作总结
2015/04/27 职场文书
公司催款律师函
2015/05/27 职场文书
浅析MongoDB之安全认证
2021/06/26 MongoDB
Opencv实现二维直方图的计算及绘制
2021/07/21 Python