回答編集履歴
1
追記
answer
CHANGED
@@ -14,6 +14,88 @@
|
|
14
14
|
|
15
15
|
---
|
16
16
|
|
17
|
+
> 予め定めたパスワード(例えば 13579)と一致したらIF構文で次のプロセスへ進み、間違っていたらelseで終了にしたいのです。
|
18
|
+
|
19
|
+
次のプロセスという部分がよく分かりませんでしたが。
|
20
|
+
やりたいことと回答を反映したサンプルコードです、ご参考まで。
|
21
|
+
|
22
|
+
```Python
|
23
|
+
# -*- coding: utf-8 -*-
|
24
|
+
from tkinter import *
|
25
|
+
from tkinter import ttk
|
26
|
+
|
27
|
+
root = Tk()
|
28
|
+
root.title('Entry Test')
|
29
|
+
# Tk()を呼び出し後に使用可能、クリックイベントから参照するために、この位置で宣言
|
30
|
+
username = StringVar()
|
31
|
+
email = StringVar()
|
32
|
+
password = StringVar()
|
33
|
+
|
34
|
+
|
35
|
+
# OKボタンをクリック時のイベント
|
36
|
+
def ok_click():
|
37
|
+
if not (password.get() == "13579"):
|
38
|
+
# 画面を終了=root.mainloop()の次の行から実行再開
|
39
|
+
root.quit()
|
40
|
+
return
|
41
|
+
# 一致したなら
|
42
|
+
print("Done")
|
43
|
+
|
44
|
+
|
45
|
+
def main():
|
46
|
+
root.resizable ( False, False )
|
47
|
+
frame1 = ttk.Frame ( root, padding=10 )
|
48
|
+
frame1.grid ()
|
49
|
+
|
50
|
+
label1 = ttk.Label ( frame1, text='Username', padding=(5, 2) )
|
51
|
+
label1.grid ( row=0, column=0, sticky=E )
|
52
|
+
|
53
|
+
label2 = ttk.Label ( frame1, text='Email', padding=(5, 2) )
|
54
|
+
label2.grid ( row=1, column=0, sticky=E )
|
55
|
+
|
56
|
+
label3 = ttk.Label ( frame1, text='Password', padding=(5, 2) )
|
57
|
+
label3.grid ( row=2, column=0, sticky=E )
|
58
|
+
|
59
|
+
# Username Entry
|
60
|
+
username_entry = ttk.Entry (
|
61
|
+
frame1,
|
62
|
+
textvariable=username,
|
63
|
+
width=30 )
|
64
|
+
username_entry.grid ( row=0, column=1 )
|
65
|
+
|
66
|
+
# Email Entry
|
67
|
+
email_entry = ttk.Entry (
|
68
|
+
frame1,
|
69
|
+
textvariable=email,
|
70
|
+
width=30 )
|
71
|
+
email_entry.grid ( row=1, column=1 )
|
72
|
+
|
73
|
+
# Password Entry
|
74
|
+
password_entry = ttk.Entry (
|
75
|
+
frame1,
|
76
|
+
textvariable=password,
|
77
|
+
width=30,
|
78
|
+
show='*' )
|
79
|
+
password_entry.grid ( row=2, column=1 )
|
80
|
+
|
81
|
+
frame2 = ttk.Frame ( frame1, padding=(0, 5) )
|
82
|
+
frame2.grid ( row=3, column=1, sticky=W )
|
83
|
+
button1 = ttk.Button ( frame2, text='OK', command=ok_click)
|
84
|
+
button1.pack ( side=LEFT )
|
85
|
+
button2 = ttk.Button ( frame2, text='Cancel', command=quit )
|
86
|
+
button2.pack ( side=LEFT )
|
87
|
+
|
88
|
+
root.mainloop()
|
89
|
+
|
90
|
+
print(password.get())
|
91
|
+
|
92
|
+
|
93
|
+
if __name__ == '__main__':
|
94
|
+
main()
|
95
|
+
```
|
96
|
+
|
97
|
+
---
|
98
|
+
|
17
99
|
> 他のライブラリーで
|
18
100
|
|
19
101
|
`Python`言語に限定していえば、`QtDesigner`が使える`PyQT`か`Kivy`ですが。
|
@@ -22,7 +104,7 @@
|
|
22
104
|
|
23
105
|
0. 日本語の公式ドキュメント情報が壊滅的。
|
24
106
|
あってもサンプルコードか動かないサンプルコード。
|
25
|
-
必然的に英語情報を当たる必要があ
|
107
|
+
必然的に2次情報(誰かのサンプルを見て初心者がQiitaに記事を書いて見ました系)か英語の1次情報を当たる必要があります。
|
26
108
|
0. 解説内容が他言語でGUIアプリを作成した事がある人向けの内容。
|
27
109
|
前提知識として
|
28
110
|
・イベント駆動型プログラミング
|