ログインウィンドウを書くのTkinter使用

Tkinterのインポート
インポートSYS
インポート再
インポートmysql.connector
トップ= tkinter.Tk()
top.geometry( '400x170 + 350 + 150')
top.wmのタイトル( '合成例')
top.resizable(幅=偽、偽高さ= )ウィンドウのサイズ変更しない
DEF validateText():
ヴァル= entry1.get()
PWD = entry2.getを()
IF re.findall( '^ [0-9A-ZA-Z
] {1} $'、STR(ヴァル)):
Trueを返し
、他:
LABEL3 [ 'テキスト'] = '番号、ユーザー名が文字を含めることができ下線'
Falseを返す
#を--------------------- ----- -----------------------------------データベースの情報を取得する
オープン=(「MySQLのファイル。 CONF '' R&LT「)
F = file.readlines()
L = "" .join(F)
IP = re.findall(R&LT "ホスト=(\ S +)"、リットル)
たち= re.findall(R "ユーザー=(。\ S +)"、L)
re.findall = PD(R&LT "のpasswd =(\ S +)"、L)
Ptがre.findall(R&LT "ポート=(\ S +)"、L)=
DBはre.findall(R&LT「データベース=を(= \ S +)」、L)
#-------------------------- ------------検証ユーザのログインデータベース-----------------------
DEF anw_button(DB_HOST = IP [0]、US DB_USER = [0]、DB_PASS = PD [0]、白金= DB_PORT [0]、DB DB_DATA = [0]):
'' '
MYDB = mysql.connector.connect(
ホスト= "XX.XX.XX.XX"、#ホストアドレスデータベースの
ユーザ= "ルート"、#データベースユーザ名
のpasswd = "123456"、#データベースのパスワード
ポート= "66"、
データベース= "py_test"

'' '
db_user_name = entry1.get()
mydbという= mysql.connector.connect(
ホスト= STR(DB_HOST)、ホストアドレスのデータベース#
ユーザー= STR(DB_USER)#データベースのユーザー名
のpasswd = STR(DB_PASS)、#データベースパスワードの
ポート= STR(DB_PORT)、
STR =データベース(DB_DATA)

MyCursorと= mydb.cursor()#は、カーソルの作成
"SELECT * FROM WHERE名py_table =" + db_user_name)(mycursor.executeを
結果= mycursor.fetchall()
IF結果[0] [0]!= "":
db_user_pwd結果= [0] [1]
IF str.upper(entry1.get())== db_user_nameとstr.upper(entry2.get())== db_user_pwd:
LABEL3 [ 'テキスト'] =「ログイン成功「
top.destroy()#は(top.mainloopを停止)、ウィンドウの閉じる
インポートテスト
テストを
、他:
LABEL3 [」テキスト「] =」ユーザー名またはパスワードが間違っている、再入力してください!'
DEF登録は():
top.destroy()
インポートZC
ZC
DEFのdown_zc():
LABEL3 ['テキスト'] ='レジスタ'がオフであります

LABEL1 = tkinter.Label(トップ、テキスト= ' ユーザー名:'、フォント=( 'MS Pゴシック'、'18は))
label1.grid(行= 0、列= 0)
LABEL2 = tkinter.Label(トップ、テキスト= 'パスワード:'、フォント=( 'ゴシック'、'18は))
LABEL2 .grid(行= 1、列= 0)。
V = tkinter.StringVar()
はArial 'entry1を= tkinter.Entry(トップ、=フォント(' 、 '18')、textvariable = V、検証= 'focusout'、validatecommand = validateText)

entry1.grid(行= 0、列= 1)
entry1.focus_force()
ENTRY2 = tkinter.Entry(トップ、フォント=( '宋体'、 '18')、ショー= '*')

entry2.grid(行=。1、列=。1)
ボタン1 = tkinter.Button(トップ、テキスト= 'ログイン'、フォント=( 'Arialの'、'18は)、コマンド= anw_button)
button1.grid(行= 2、 = 0カラム、padx = 50、10 = pady)
ボタン2 = tkinter.Button(トップ、テキスト= 'レジスタ'、フォント=( 'ゴシック'、'18は)、コマンド=登録)
button2.grid(行= 2、 =。1列、padx = 80、10 = pady)
LABEL3 = tkinter.Label(トップ、テキスト= '情報提示領域'、フォント=( '新しい中国の魏'、 '16')、救援 = '尾根'、幅= 30)
label3.grid(行= 3、列= 0、padx = 10、10 = pady、ColumnSpan = 2、スティッキー= 'S')
top.mainloop()

グリッド:グリッドレイアウトの
行= 3、行番号は、0から開始し、デフォルトは0である
列= 0、列番号、0から始まる、デフォルトは0で
埋めpadx = 10は、方向x
充填pady = 10、Y方向
columnspan = 2 、
スティッキー= 'S'方向S、N、E、W

おすすめ

転載: blog.51cto.com/10956218/2445335