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 相关文章推荐
Windows上使用virtualenv搭建Python+Flask开发环境
Jun 07 Python
Python 自动化表单提交实例代码
Jun 08 Python
Python使用win32com实现的模拟浏览器功能示例
Jul 13 Python
快速查询Python文档方法分享
Dec 27 Python
python 实现selenium断言和验证的方法
Feb 13 Python
python读取目录下所有的jpg文件,并显示第一张图片的示例
Jun 13 Python
对python while循环和双重循环的实例详解
Aug 23 Python
Pandas 缺失数据处理的实现
Nov 04 Python
Python实现随机取一个矩阵数组的某几行
Nov 26 Python
解决python运行启动报错问题
Jun 01 Python
python selenium xpath定位操作
Sep 01 Python
Django drf请求模块源码解析
Jun 08 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 定义404页面的实现代码
2012/11/19 PHP
PHP对接微信公众平台消息接口开发流程教程
2014/03/25 PHP
php去除数组中重复数据
2014/11/18 PHP
PHP封装的字符串加密解密函数
2015/12/18 PHP
php注册和登录界面的实现案例(推荐)
2016/10/24 PHP
PHP数据库操作三:redis用法分析
2017/08/16 PHP
php策略模式简单示例分析【区别于工厂模式】
2019/09/25 PHP
使用laravel的Eloquent模型如何获取数据库的指定列
2019/10/17 PHP
一个报数游戏js版(约瑟夫环问题)
2010/08/05 Javascript
解析window.open的使用方法总结
2013/06/19 Javascript
jquery实现弹出层遮罩效果的简单实例
2014/03/03 Javascript
jquery插件开发之实现jquery手风琴功能分享
2014/03/10 Javascript
原生js事件的添加和删除的封装
2014/07/01 Javascript
node.js中的fs.createReadStream方法使用说明
2014/12/17 Javascript
JavaScript学习笔记之Cookie对象
2015/01/22 Javascript
jQuery中 delegate使用的问题
2015/07/03 Javascript
初识NodeJS服务端开发入门(Express+MySQL)
2017/04/07 NodeJs
vue之组件内监控$store中定义变量的变化详解
2019/11/08 Javascript
JavaScript实现简单的弹窗效果
2020/05/19 Javascript
[56:48]FNATIC vs EG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Python 迭代器与生成器实例详解
2017/05/18 Python
Python MySQLdb 使用utf-8 编码插入中文数据问题
2018/03/13 Python
Python requests发送post请求的一些疑点
2018/05/20 Python
PyCharm中代码字体大小调整方法
2019/07/29 Python
python中count函数简单用法
2020/01/05 Python
python dumps和loads区别详解
2020/02/04 Python
python rsa-oaep加密的示例代码
2020/09/23 Python
网络教育自我鉴定
2014/02/04 职场文书
岗位安全生产责任书
2014/07/28 职场文书
2014年社团工作总结范文
2014/11/27 职场文书
给医院的感谢信
2015/01/21 职场文书
个人工作能力自我评价
2015/03/05 职场文书
求职推荐信范文
2015/03/27 职场文书
小学生班干部竞选稿
2015/11/20 职场文书
Python 解决空列表.append() 输出为None的问题
2021/05/23 Python
python geopandas读取、创建shapefile文件的方法
2021/06/29 Python