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字符串的encode与decode研究心得乱码问题解决方法
Mar 23 Python
python实现上传样本到virustotal并查询扫描信息的方法
Oct 05 Python
Python中用psycopg2模块操作PostgreSQL方法
Nov 28 Python
python中实现将多个print输出合成一个数组
Apr 19 Python
使用python读取csv文件快速插入数据库的实例
Jun 21 Python
python for和else语句趣谈
Jul 02 Python
python读取大文件越来越慢的原因与解决
Aug 08 Python
python生成器推导式用法简单示例
Oct 08 Python
python numpy中cumsum的用法详解
Oct 17 Python
Django项目使用ckeditor详解(不使用admin)
Dec 17 Python
python 实现PIL模块在图片画线写字
May 16 Python
Python数据可视化之Seaborn的安装及使用
Apr 19 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
肝肠寸断了解下!盘点史上最伤心的十大动漫
2020/03/04 日漫
Windows下编译PHP5.4和xdebug全记录
2015/04/03 PHP
PHP7 其他语言层面的修改
2021/03/09 PHP
FF IE兼容性的修改小结
2009/09/02 Javascript
input 输入框获得/失去焦点时隐藏/显示文字(jquery版)
2013/04/02 Javascript
css+js实现部分区域高亮可编辑遮罩层
2014/03/04 Javascript
jQuery的cookie插件实现保存用户登陆信息
2014/04/15 Javascript
在Javascript中处理数组之toSource()方法的使用
2015/06/09 Javascript
纯HTML5制作围住神经猫游戏-附源码下载
2015/08/23 Javascript
Javascript 调用 ActionScript 的简单方法
2016/09/22 Javascript
js实现滑动到页面底部自动加载更多功能
2017/02/15 Javascript
基于Vue实现页面切换左右滑动效果
2020/06/29 Javascript
解决vant title-active-color与title-inactive-color不生效问题
2020/11/03 Javascript
python登录pop3邮件服务器接收邮件的方法
2015/04/30 Python
Python中用sleep()方法操作时间的教程
2015/05/22 Python
Python中标准模块importlib详解
2017/04/16 Python
Python pygorithm模块用法示例【常见算法测试】
2018/08/16 Python
Django Haystack 全文检索与关键词高亮的实现
2020/02/17 Python
Python读取VOC中的xml目标框实例
2020/03/10 Python
Python的Django框架实现数据库查询(不返回QuerySet的方法)
2020/05/19 Python
使用keras实现densenet和Xception的模型融合
2020/05/23 Python
萨克斯第五大道英国:Saks Fifth Avenue英国
2019/04/01 全球购物
俄罗斯电子产品在线商店:UltraTrade
2020/01/30 全球购物
自荐信格式技巧有哪些呢
2013/11/19 职场文书
高考备战决心书
2014/03/11 职场文书
初三学生个人自我评定
2014/04/06 职场文书
幼儿教师自我剖析材料
2014/09/29 职场文书
投资公司董事长岗位职责
2015/04/16 职场文书
党员干部学习十八届五中全会精神心得体会
2016/01/05 职场文书
《梅花魂》教学反思
2016/02/18 职场文书
浅谈Nginx 中的两种限流方式
2021/03/31 Servers
JavaScript实现登录窗体
2021/06/22 Javascript
教你怎么用Python selenium操作浏览器对象的基础API
2021/06/23 Python
Go调用Rust方法及外部函数接口前置
2022/06/14 Golang
JS轻量级函数式编程实现XDM三
2022/06/16 Javascript
MySQL事务的ACID特性以及并发问题方案
2022/07/15 MySQL