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远程桌面协议RDPY安装使用介绍
Apr 15 Python
Python简单遍历字典及删除元素的方法
Sep 18 Python
详解Python pygame安装过程笔记
Jun 05 Python
Python文件操作之合并文本文件内容示例代码
Sep 19 Python
Python PyQt4实现QQ抽屉效果
Apr 20 Python
详解PyCharm配置Anaconda的艰难心路历程
Aug 13 Python
在PyCharm下使用 ipython 交互式编程的方法
Jan 17 Python
python跳出双层for循环的解决方法
Jun 24 Python
python使用numpy实现直方图反向投影示例
Jan 17 Python
python GUI库图形界面开发之PyQt5切换按钮控件QPushButton详细使用方法与实例
Feb 28 Python
jupyter notebook中新建cell的方法与快捷键操作
Apr 22 Python
django 实现后台从富文本提取纯文本
Jul 02 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 ftp文件上传函数(基础版)
2010/06/03 PHP
PHP中file_get_contents高?用法实例
2014/09/24 PHP
YII使用url组件美化管理的方法
2015/12/28 PHP
Zend Framework入门教程之Zend_Mail用法示例
2016/12/08 PHP
PHP简单实现冒泡排序的方法
2016/12/26 PHP
php桥接模式应用案例分析
2019/10/23 PHP
javascript 45种缓动效果 非常酷
2011/06/28 Javascript
定时器(setTimeout/setInterval)调用带参函数失效解决方法
2013/03/26 Javascript
js onclick事件传参讲解
2013/11/06 Javascript
nodeType属性返回被选节点的节点类型介绍
2013/11/22 Javascript
使用typeof方法判断undefined类型
2014/09/09 Javascript
jQuery中focus事件用法实例
2014/12/26 Javascript
3个可以改善用户体验的AngularJS指令介绍
2015/06/18 Javascript
Node.js插件安装图文教程
2016/05/06 Javascript
再谈javascript注入 黑客必备!
2016/09/14 Javascript
Vue实现一个无限加载列表功能
2018/11/13 Javascript
node.js连接mysql与基本用法示例
2019/01/05 Javascript
Node.js从字符串生成文件流的实现方法
2019/08/18 Javascript
[00:33]2016完美“圣”典风云人物:BurNIng宣传片
2016/12/10 DOTA
Python 除法小技巧
2008/09/06 Python
浅析Python四种数据类型
2018/09/26 Python
python数据结构之线性表的顺序存储结构
2018/09/28 Python
对numpy中二进制格式的数据存储与读取方法详解
2018/11/01 Python
python如何通过twisted搭建socket服务
2020/02/03 Python
利用python实现逐步回归
2020/02/24 Python
Django-celery-beat动态添加周期性任务实现过程解析
2020/11/26 Python
基于CSS3实现的几个小loading效果
2018/09/27 HTML / CSS
检测用户浏览器是否支持CSS3的方法
2009/08/29 HTML / CSS
阿联酋电子产品购物网站:Menakart
2017/09/15 全球购物
美国电子产品购物网站:BuyDig.com
2020/06/17 全球购物
什么是Deployment descriptors;都有什么类型的部署描述符
2015/07/28 面试题
编码实现字符串转整型的函数
2012/06/02 面试题
军训自我鉴定怎么写
2014/02/13 职场文书
通讯稿格式及范文
2015/07/22 职场文书
HashMap实现保存两个key相同的数据
2021/06/30 Java/Android
Python IO文件管理的具体使用
2022/03/20 Python