Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
Administrator
/
level3-lesson18-diy2
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
a40f66e9
authored
2 years ago
by
BellCodeEditor
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
save project
parent
711f8e4a
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
136 additions
and
0 deletions
my_app.py
user.txt
my_app.py
0 → 100644
View file @
a40f66e9
import
tkinter
import
json
from
tkinter
import
messagebox
with
open
(
"user.txt"
,
'r'
,
encoding
=
'UTF-8'
)
as
f
:
info
=
f
.
read
()
users
=
json
.
loads
(
info
)
def
login_to_reg
():
# 登录界面转注册界面
app_login
.
root
.
destroy
()
global
app_reg
app_reg
=
My_register
()
app_reg
.
show
()
def
reg_to_login
():
# 注册界面转登录界面
app_reg
.
root
.
destroy
()
global
app_login
app_login
=
My_login
()
app_login
.
show
()
def
register
():
# 注册验证
name
,
password1
,
password2
=
app_reg
.
get_input
()
if
name
==
''
or
password1
==
''
or
password2
==
''
:
messagebox
.
showerror
(
'警告'
,
'请填写完整的用户信息'
)
elif
name
in
users
:
messagebox
.
showerror
(
'警告'
,
'用户名已存在'
)
elif
password1
!=
password2
:
messagebox
.
showerror
(
'警告'
,
'两次密码不一致'
)
else
:
users
[
name
]
=
password1
content
=
json
.
dumps
(
users
)
with
open
(
"user.txt"
,
'w'
,
encoding
=
'UTF-8'
)
as
f
:
f
.
write
(
content
)
messagebox
.
showinfo
(
'提示'
,
'注册成功'
)
def
login
():
# 登录验证
pass
class
My_login
():
# 登录窗口
def
__init__
(
self
):
self
.
root
=
tkinter
.
Tk
()
self
.
root
.
title
(
"登录窗口"
)
self
.
root
.
geometry
(
'400x300+500+300'
)
self
.
root
.
resizable
(
width
=
False
,
height
=
False
)
# True可以拉伸,False不能拉伸
def
show
(
self
):
# 登录界面的所有控件
# Label文本标签,界面提示信息
l
=
tkinter
.
Label
(
self
.
root
,
text
=
'您好!请登录'
,
bg
=
'green'
,
font
=
(
'宋体'
,
15
),
width
=
40
,
height
=
2
)
l
.
place
(
x
=
0
,
y
=
0
)
l
=
tkinter
.
Label
(
self
.
root
,
text
=
'用户名:'
,
font
=
(
"宋体"
,
12
),
fg
=
"black"
)
l
.
place
(
x
=
50
,
y
=
80
)
l
=
tkinter
.
Label
(
self
.
root
,
text
=
'密 码:'
,
font
=
(
"宋体"
,
12
),
fg
=
"black"
)
l
.
place
(
x
=
50
,
y
=
140
)
# Entry单行文本输入框:用户名、密码
self
.
e1
=
tkinter
.
Entry
(
self
.
root
,
show
=
None
,
font
=
(
'宋体'
,
14
),
bg
=
"light grey"
,
width
=
18
)
# 显示成明文形式
self
.
e2
=
tkinter
.
Entry
(
self
.
root
,
show
=
'*'
,
font
=
(
'宋体'
,
14
),
width
=
18
)
# 显示成密文形式
self
.
e1
.
place
(
x
=
120
,
y
=
80
)
self
.
e2
.
place
(
x
=
120
,
y
=
140
)
# 登录、注册按钮
button1
=
tkinter
.
Button
(
self
.
root
,
text
=
'登录'
,
bg
=
"lightblue"
,
fg
=
"black"
,
width
=
15
,
command
=
login
)
button1
.
place
(
x
=
60
,
y
=
220
)
button1
=
tkinter
.
Button
(
self
.
root
,
text
=
'注册'
,
bg
=
"lightgreen"
,
fg
=
"black"
,
width
=
15
,
command
=
login_to_reg
)
button1
.
place
(
x
=
230
,
y
=
220
)
# 进入消息循环,监听事件
self
.
root
.
mainloop
()
def
get_input
(
self
):
# 获取输入的用户名、密码
self
.
name
=
self
.
e1
.
get
()
self
.
password
=
self
.
e2
.
get
()
return
self
.
name
,
self
.
password
class
My_register
():
# 注册窗口
def
__init__
(
self
):
self
.
root
=
tkinter
.
Tk
()
self
.
root
.
title
(
"注册窗口"
)
self
.
root
.
geometry
(
'400x320+500+300'
)
self
.
root
.
resizable
(
width
=
False
,
height
=
False
)
# True可以拉伸,False不能拉伸
def
show
(
self
):
# 注册界面的所有控件
# 用户名、密码、确认密码输入框
self
.
e1
=
tkinter
.
Entry
(
self
.
root
,
show
=
None
,
font
=
(
'宋体'
,
14
),
bg
=
"light grey"
,
width
=
18
)
# 显示成明文形式
self
.
e1
.
place
(
x
=
140
,
y
=
80
)
self
.
e2
=
tkinter
.
Entry
(
self
.
root
,
show
=
'*'
,
font
=
(
'宋体'
,
14
),
width
=
18
)
self
.
e2
.
place
(
x
=
140
,
y
=
140
)
self
.
e3
=
tkinter
.
Entry
(
self
.
root
,
show
=
'*'
,
font
=
(
'宋体'
,
14
),
width
=
18
)
self
.
e3
.
place
(
x
=
140
,
y
=
200
)
# Label文本标签,窗口界面文字:用户名、密码、确认密码
lab
=
tkinter
.
Label
(
self
.
root
,
text
=
'您好!请填写注册信息'
,
font
=
(
'宋体'
,
15
),
fg
=
"black"
,
width
=
40
,
height
=
2
,
bg
=
"green"
)
lab
.
place
(
x
=
0
,
y
=
0
)
lab1
=
tkinter
.
Label
(
self
.
root
,
text
=
'用户名:'
,
font
=
(
"宋体"
,
12
),
fg
=
"black"
)
lab1
.
place
(
x
=
60
,
y
=
80
)
lab2
=
tkinter
.
Label
(
self
.
root
,
text
=
'密 码:'
,
font
=
(
"宋体"
,
12
),
fg
=
"black"
)
lab2
.
place
(
x
=
60
,
y
=
140
)
lab3
=
tkinter
.
Label
(
self
.
root
,
text
=
'确认密码:'
,
font
=
(
"宋体"
,
12
),
fg
=
"black"
)
lab3
.
place
(
x
=
50
,
y
=
200
)
# 注册界面的提交、取消按钮
button1
=
tkinter
.
Button
(
self
.
root
,
text
=
'提交'
,
bg
=
"lightblue"
,
width
=
15
,
command
=
register
)
button1
.
place
(
x
=
230
,
y
=
250
)
button1
=
tkinter
.
Button
(
self
.
root
,
text
=
'取消'
,
bg
=
"lightgreen"
,
width
=
15
,
command
=
reg_to_login
)
button1
.
place
(
x
=
80
,
y
=
250
)
# 进入消息循环
self
.
root
.
mainloop
()
def
get_input
(
self
):
# 获取提交的注册信息
self
.
name
=
self
.
e1
.
get
()
self
.
password1
=
self
.
e2
.
get
()
self
.
password2
=
self
.
e3
.
get
()
return
self
.
name
,
self
.
password1
,
self
.
password2
app_login
=
My_login
()
app_login
.
show
()
\ No newline at end of file
This diff is collapsed.
Click to expand it.
user.txt
0 → 100644
View file @
a40f66e9
{"admin": "123456", "python": "123456"}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment