Python
 Computer >> コンピューター >  >> プログラミング >> Python

PythonTkinterを使用した簡単な登録フォーム


Tkinterは、GUI(グラフィカルユーザーインターフェイス)を開発するためのPythonライブラリです。 tkinterライブラリを使用してUI(ユーザーインターフェイス)のアプリケーションを作成し、ウィンドウやその他すべてのグラフィカルユーザーインターフェイスを作成します。

python 3.x(推奨)を使用している場合、TkinterにはPythonが標準パッケージとして付属しているため、使用するために何もインストールする必要はありません。

Tkinterで登録フォームを作成する前に、まずTkinterで簡単なGUIアプリケーションを作成しましょう。

簡単なGUIアプリケーションの作成

以下は、Tkinterをインポートしてタイトルを設定するだけでウィンドウを作成するプログラムです-

from tkinter import *
from tkinter import ttk
window = Tk()
window.title("Welcome to TutorialsPoint")
window.geometry('325x250')
window.configure(background = "gray")
ttk.Button(window, text="Hello, Tkinter").grid()
window.mainloop()

上記のコード行を実行すると、-

のような出力が表示されます。

PythonTkinterを使用した簡単な登録フォーム

上記のコード行を理解しましょう-

  • 最初に、必要なすべてのモジュールをインポートし、ttkと*(すべて)をtkinterライブラリからインポートしました。

  • アプリケーションのメインウィンドウを作成するには、Tkクラスを使用します。

  • window.title()、ウィンドウアプリにタイトルを付けます。

  • window.geometry()、ウィンドウのサイズを設定し、window.configure()、その背景色を設定します。

  • ttk.Button()はボタンを作成します。

  • ttk.Button(window、text ="Hello、Tkinter")。grid()– windowはTkを意味するため、作成したウィンドウに表示されます。text-はウィンドウにテキストを表示し、gridはウィンドウにテキストを表示します。グリッド。

  • Window.mainloop()、この関数はウィンドウのエンドレスループを呼び出すため、ユーザーがウィンドウを閉じるまで開いたままになります。

いくつかのラベル(ラベルはテキストまたは画像の一部を表示する単純なウィジェットです)とボタン(ボタンは通常、ボタンをクリックすると、いくつかのアクションを意味するユーザーアクションに直接マップされます)を追加して、前の例を拡張してみましょう。コード内で発生するはずです。

from tkinter import *
from tkinter import ttk
window = Tk()
window.title("Welcome to TutorialsPoint")
window.geometry('400x400')
window.configure(background = "grey");
a = Label(window ,text = "First Name").grid(row = 0,column = 0)
b = Label(window ,text = "Last Name").grid(row = 1,column = 0)
c = Label(window ,text = "Email Id").grid(row = 2,column = 0)
d = Label(window ,text = "Contact Number").grid(row = 3,column = 0)
a1 = Entry(window).grid(row = 0,column = 1)
b1 = Entry(window).grid(row = 1,column = 1)
c1 = Entry(window).grid(row = 2,column = 1)
d1 = Entry(window).grid(row = 3,column = 1)
def clicked():
   res = "Welcome to " + txt.get()
   lbl.configure(text= res)
btn = ttk.Button(window ,text="Submit").grid(row=4,column=0)
window.mainloop()

上記のコードを実行すると、-

のような出力画面が表示されます。

PythonTkinterを使用した簡単な登録フォーム

それでは、現実の世界から何かを作成しましょう。おそらくローンの利息計算機です。そのためには、元本、ローン金利(r)、支払い後の残高(Bs)など、いくつかの項目(変数)を知る必要があります。支払い後のローンを計算するには、以下のプログラムの式を使用します-

Ps = ((1+r)^s.Bo) – (((1 + r)^s – 1)/ r)*p

ここで-

利率=7.5%のような利率

i=レート/100、10進数の年率

r=期間レート=i/ 12

Po=元本

Ps=s支払い後の残高

s=毎月の支払い回数

p =期間(月額)の支払い

以下は金利計算プログラムです。ポップアップウィンドウが表示され、ユーザーは希望の値(ローンの金額、レート、分​​割払いの数)を設定でき、毎月の支払い額と、彼が支払う必要のある残りのローンを取得できます。 pythontkinterライブラリのヘルプ。

from tkinter import *
fields = ('Annual Rate', 'Number of Payments', 'Loan Principle', 'Monthly Payment', 'Remaining Loan')
def monthly_payment(entries):
   # period rate:
   r = (float(entries['Annual Rate'].get()) / 100) / 12
   print("r", r)
   # principal loan:
   loan = float(entries['Loan Principle'].get())
   n = float(entries['Number of Payments'].get())
   remaining_loan = float(entries['Remaining Loan'].get())
   q = (1 + r)** n
   monthly = r * ( (q * loan - remaining_loan) / ( q - 1 ))
   monthly = ("%8.2f" % monthly).strip()
   entries['Monthly Payment'].delete(0,END)
   entries['Monthly Payment'].insert(0, monthly )
   print("Monthly Payment: %f" % float(monthly))
def final_balance(entries):
   # period rate:
   r = (float(entries['Annual Rate'].get()) / 100) / 12
   print("r", r)
   # principal loan:
   loan = float(entries['Loan Principle'].get())
   n = float(entries['Number of Payments'].get())
   q = (1 + r)** n
   monthly = float(entries['Monthly Payment'].get())
   q = (1 + r)** n
   remaining = q * loan - ( (q - 1) / r) * monthly
   remaining = ("%8.2f" % remaining).strip()
   entries['Remaining Loan'].delete(0,END)
   entries['Remaining Loan'].insert(0, remaining )
   print("Remaining Loan: %f" % float(remaining))
def makeform(root, fields):
   entries = {}
   for field in fields:
      row = Frame(root)
      lab = Label(row, width=22, text=field+": ", anchor='w')
      ent = Entry(row)
      ent.insert(0,"0")
      row.pack(side = TOP, fill = X, padx = 5 , pady = 5)
      lab.pack(side = LEFT)
      ent.pack(side = RIGHT, expand = YES, fill = X)
      entries[field] = ent
   return entries
if __name__ == '__main__':
   root = Tk()
   ents = makeform(root, fields)
   root.bind('<Return>', (lambda event, e = ents: fetch(e)))
   b1 = Button(root, text = 'Final Balance',
      command=(lambda e = ents: final_balance(e)))
   b1.pack(side = LEFT, padx = 5, pady = 5)
   b2 = Button(root, text='Monthly Payment',
   command=(lambda e = ents: monthly_payment(e)))
   b2.pack(side = LEFT, padx = 5, pady = 5)
   b3 = Button(root, text = 'Quit', command = root.quit)
   b3.pack(side = LEFT, padx = 5, pady = 5)
   root.mainloop()

出力

PythonTkinterを使用した簡単な登録フォーム

上記から、ユーザーはローンの金額、レート、および番号を入力することにより、最終的な(残りの)残高と毎月の支払いを見つけることができることがわかります。支払いの。


  1. PythonでTkinterを使用したシンプルなGUI計算機

    このチュートリアルでは、 Tkinterを使用して簡単なGUI計算機を作成します。 モジュール。 Tkinter GUIアプリケーションを開発するためのPythonモジュールが組み込まれています。使い方は簡単で、Pythonが付属しています。 GUIアプリケーションを使用してデータを視覚化できます。 簡単なGUI計算機を作成する方法を見てみましょう。 Tkinterからすべてをインポートします *を使用します。 電卓のインターフェースを作成します。 入力フィールドに数値を入力する入力関数を作成します。 入力フィールドからすべてを消去する見かけの関数を作成します。

  2. PythonでTkinterを使用したカラーゲーム

    GUIアプリケーションの開発では、tkinterは非常に人気があり簡単です。 tkinterを使用すると、GUIゲームを簡単に開発できます。 ここでもカラーゲームの開発を試みています。このゲームでは、プレーヤーは画面に表示される単語の色を入力する必要があるため、スコアが1つ増えます。このゲームをプレイする合計時間は、30秒で、このゲームで使用される色は、赤、青、緑、ピンク、ブラック、イエロー、オレンジ、ホワイト、パープル、ブラウン。インターフェイスには、さまざまな色の名前がさまざまな色で表示されます。ゲームに勝つには、ユーザーは色を識別し、正しい色の名前を入力する必要があります。 サンプルコ