Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
Administrator
/
level3-lesson18-diy1
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
f5b0e4e8
authored
May 10, 2026
by
BellCodeEditor
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
auto save
parent
69a920fb
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
19 additions
and
26 deletions
my_app.py
my_app.py
View file @
f5b0e4e8
import
tkinter
from
tkinter
import
messagebox
import
json
with
open
(
"user.txt"
,
"r"
,
encoding
=
"utf-8"
)
as
f
:
with
open
(
"user.txt"
,
"r"
,
encoding
=
"utf-8"
)
as
f
:
info
=
f
.
read
()
users
=
json
.
loads
(
info
)
...
...
@@ -11,38 +12,31 @@ def login_to_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
.
get_input
()
if
name
==
""
or
password1
==
""
or
password2
==
""
:
messagebox
.
showwar
rning
(
"警告"
,
"请填写完整的注册资料"
)
name
,
password1
,
password2
=
app_reg
.
get_input
()
if
name
==
""
or
password1
==
""
or
password2
==
""
:
messagebox
.
showwar
ning
(
"警告"
,
"请填写完整的注册资料"
)
elif
name
in
users
:
messagebox
.
showwar
rning
(
"错误"
,
"用户已存在
"
)
messagebox
.
showwar
ning
(
"错误"
,
"用户名已经存在!
"
)
elif
password1
!=
password2
:
messagebox
.
showwar
rning
(
"错误"
,
"两次密码不一致
"
)
messagebox
.
showwar
ning
(
"错误"
,
"两次密码不一致!
"
)
else
:
users
[
name
]
=
password1
content
=
json
.
dumps
(
users
)
with
open
(
"user.txt"
,
"r"
,
encoding
=
"utf-8"
)
as
f
:
users
[
name
]
=
password1
content
=
json
.
dumps
(
users
)
with
open
(
"user.txt"
,
"w"
,
encoding
=
"utf-8"
)
as
file
:
file
.
write
(
content
)
messagebox
.
showinfo
()
reg_to_login
()
# 注册成功,跳往登陆界面
messagebox
.
showinfo
(
"成功"
,
"注册成功"
)
login_show
()
def
login
():
# 登录验证
name
.
password
=
app_login
.
get_input
()
pwd
=
users
.
get
(
name
)
if
pwd
==
password
:
messagebox
.
showinfo
(
"成功"
,
"登录成功"
)
elif
:
messagebox
.
showinfo
(
"错误"
,
"用户和密码错误"
)
pass
class
My_login
():
# 登录窗口
def
__init__
(
self
):
...
...
@@ -75,11 +69,10 @@ class My_login(): # 登录窗口
button1
=
tkinter
.
Button
(
self
.
root
,
text
=
'登录'
,
bg
=
"lightblue"
,
fg
=
"black"
,
width
=
15
,
command
=
login
)
button1
.
place
(
x
=
60
,
y
=
220
)
button
1
=
tkinter
.
Button
(
self
.
root
,
text
=
'注册'
,
bg
=
"lightgreen"
,
button
2
=
tkinter
.
Button
(
self
.
root
,
text
=
'注册'
,
bg
=
"lightgreen"
,
fg
=
"black"
,
width
=
15
,
command
=
login_to_reg
)
button1
.
place
(
x
=
230
,
y
=
220
)
# 进入消息循环,监听事件
self
.
root
.
mainloop
()
button2
.
place
(
x
=
230
,
y
=
220
)
self
.
root
.
mainloop
()
# 进入消息循环,监听事件
def
get_input
(
self
):
# 获取输入的用户名、密码
self
.
name
=
self
.
e1
.
get
()
...
...
@@ -123,9 +116,9 @@ class My_register(): # 注册窗口
button1
=
tkinter
.
Button
(
self
.
root
,
text
=
'提交'
,
bg
=
"lightblue"
,
width
=
15
,
command
=
register
)
button1
.
place
(
x
=
230
,
y
=
250
)
button
1
=
tkinter
.
Button
(
self
.
root
,
text
=
'取消'
,
bg
=
"lightgreen"
,
button
2
=
tkinter
.
Button
(
self
.
root
,
text
=
'取消'
,
bg
=
"lightgreen"
,
width
=
15
,
command
=
reg_to_login
)
button
1
.
place
(
x
=
80
,
y
=
250
)
button
2
.
place
(
x
=
80
,
y
=
250
)
# 进入消息循环
self
.
root
.
mainloop
()
...
...
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