本文实例为大家分享了tkinter实现页面跳转的具体代码,供大家参考,具体内容如下
主函数main.py
1
2
3
4
5
6
7
|
from tkinter import *
from LoginPage import *
root = Tk()
root.title( '小程序' )
LoginPage(root)
root.mainloop()
|
登陆界面函数LoginPage.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
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()
|
效果图:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:http://blog.csdn.net/tiandawangliang/article/details/54969746