使用tkinter编写登录窗口
admin
2023-07-01 05:02:54
0次

import tkinter
import sys
import re
import mysql.connector
top = tkinter.Tk()
top.geometry('400x170+350+150')
top.wmtitle('综合实例')
top.resizable(width=False, height=False) 禁止修改窗口大小
def validateText():
val = entry1.get()
pwd = entry2.get()
if re.findall('^[0-9a-zA-Z
]{1,}$', str(val)):
return True
else:
label3['text'] = '用户名只能包含字母、数字、下划线'
return False
#--------------------------获取数据库信息-----------------------------------
file = open('mysql.conf', 'r')
f = file.readlines()
l = " ".join(f)
ip = re.findall(r"host=(.\S+)", l)
us = re.findall(r"user=(.\S+)", l)
pd = re.findall(r"passwd=(.\S+)", l)
pt = re.findall(r"port=(.\S+)", l)
db = re.findall(r"database=(.\S+)", l)
#--------------------------登陆数据库验证用户-----------------------------------
def anw_button(db_host=ip[0], db_user=us[0], db_pass=pd[0], db_port=pt[0], db_data=db[0]):
'''
mydb = mysql.connector.connect(
host="xx.xx.xx.xx", # 数据库主机地址
user="root", # 数据库用户名
passwd="123456", # 数据库密码
port="66",
database="py_test"
)
'''
db_user_name = entry1.get()
mydb = mysql.connector.connect(
host=str(db_host), # 数据库主机地址a
user=str(db_user), # 数据库用户名
passwd=str(db_pass), # 数据库密码
port=str(db_port),
database=str(db_data)
)
mycursor = mydb.cursor() #创建游标
mycursor.execute("select * FROM py_table where name = " + db_user_name)
results = mycursor.fetchall()
if results[0][0] != "":
db_user_pwd = results[0][1]
if str.upper(entry1.get()) == db_user_name and str.upper(entry2.get()) == db_user_pwd:
label3['text'] = '登陆成功'
top.destroy() #停止运行top.mainloop(),关闭窗口
import test
test
else:
label3['text'] = '用户名或密码错误,请重新输入!'
def registered():
top.destroy()
import zc
zc
def down_zc():
label3['text'] = '注册功能已关闭'
#---------------------------------窗口主体---------------------------------------------
label1 = tkinter.Label(top, text='用户名:', font=('宋体', '18'))
label1.grid(row=0, column=0)
label2 = tkinter.Label(top, text='密码:', font=('宋体', '18'))
label2 .grid(row=1, column=0)
v = tkinter.StringVar()
entry1 = tkinter.Entry(top, font=('宋体', '18'), textvariable = v, validate = 'focusout', validatecommand = validateText)

entry1.grid(row=0, column=1)
entry1.focus_force()
entry2 = tkinter.Entry(top, font=('宋体', '18'), show = '*')

entry2.grid(row=1, column=1)
button1 = tkinter.Button(top, text='登陆', font=('宋体', '18'), command = anw_button)
button1.grid(row=2, column=0, padx=50, pady=10)
button2 = tkinter.Button(top, text='注册', font=('宋体', '18'), command = registered)
button2.grid(row=2, column=1, padx=80, pady=10)
label3 = tkinter.Label(top, text='信息提示区', font=('华文新魏', '16'), relief = 'ridge', width = 30)
label3.grid(row=3, column=0, padx=10, pady=10, columnspan=2, sticky='s')
top.mainloop()

grid:网格布局
row=3, 行数值,从0开始,默认为0
column=0, 列数值,从0开始,默认为0
padx=10, x方向填充
pady=10, y方向填充
columnspan=2,
sticky='s' 方向 s,n,e,w

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...