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的正则表达式re模块的常用方法
Mar 09 Python
python抓取网页图片示例(python爬虫)
Apr 27 Python
简单介绍Python中的len()函数的使用
Apr 07 Python
在Python中进行自动化单元测试的教程
Apr 15 Python
python通过pip更新所有已安装的包实现方法
May 19 Python
pytorch 转换矩阵的维数位置方法
Dec 08 Python
django框架创建应用操作示例
Sep 26 Python
python装饰器练习题及答案
Nov 01 Python
使用Pyhton集合set()实现成果查漏的例子
Nov 24 Python
python 定义类时,实现内部方法的互相调用
Dec 25 Python
python - asyncio异步编程
Apr 06 Python
pandas中pd.groupby()的用法详解
Jun 16 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操作文件方法问答
2007/03/16 PHP
php数组对百万数据进行排除重复数据的实现代码
2010/06/08 PHP
php 模拟get_headers函数的代码示例
2013/04/27 PHP
PHP批量查询WordPress留言者E-mail地址实现方法
2015/02/15 PHP
Yii数据库缓存实例分析
2016/03/29 PHP
PHP实现的文件上传类与用法详解
2017/07/05 PHP
PHP使用file_get_contents发送http请求功能简单示例
2018/04/29 PHP
FCK调用方法..
2006/12/21 Javascript
深入理解JavaScript系列(6):S.O.L.I.D五大原则之单一职责SRP
2012/01/15 Javascript
浅析offsetLeft,Left,clientLeft之间的区别
2013/11/30 Javascript
JavaScript设置获取和设置属性的方法
2015/03/04 Javascript
js实现精美的图片跟随鼠标效果实例
2015/05/16 Javascript
Javascript基础_嵌入图像的简单实现
2016/06/14 Javascript
异步加载JS、CSS代码(推荐)
2016/06/15 Javascript
概述BootStrap中role="form"及role作用角色
2016/12/08 Javascript
微信小程序实现顶部下拉菜单栏
2018/11/04 Javascript
vue组件间的参数传递实例详解
2019/04/26 Javascript
详解Webpack4多页应用打包方案
2020/07/16 Javascript
vscode 使用Prettier插件格式化配置使用代码详解
2020/08/10 Javascript
Vue中用JSON实现刷新界面不影响倒计时
2020/10/26 Javascript
Python字符串处理之count()方法的使用
2015/05/18 Python
用python记录运行pid,并在需要时kill掉它们的实例
2017/01/16 Python
基于python 处理中文路径的终极解决方法
2018/04/12 Python
python跳过第一行快速读取文件内容的实例
2018/07/12 Python
如何使用django的MTV开发模式返回一个网页
2019/07/22 Python
python GUI库图形界面开发之PyQt5选项卡控件QTabWidget详细使用方法与实例
2020/03/01 Python
python如何写出表白程序
2020/06/01 Python
python 基于opencv 绘制图像轮廓
2020/12/11 Python
通用的Django注册功能模块实现方法
2021/02/05 Python
css3实现文字首尾衔接跑马灯的示例代码
2020/10/16 HTML / CSS
新西兰领先的内衣店:Bendon Lingerie新西兰
2018/07/11 全球购物
Juicy Couture Beauty官方网站:香水和化妆品
2019/03/12 全球购物
如何撰写岗位职责
2014/02/01 职场文书
提拔干部考察材料
2014/05/26 职场文书
金融系毕业生自荐书
2014/07/08 职场文书
乡镇四风对照检查材料
2014/08/31 职场文书