48 lines
1.3 KiB
Python
48 lines
1.3 KiB
Python
import tkinter as tk
|
|
|
|
from my_package.App_window import AppWindow
|
|
|
|
label_names = ["a:","b:","m:","seed:"]
|
|
entries = []
|
|
labels = []
|
|
|
|
class LehmerAlg (AppWindow):
|
|
def __init__(self):
|
|
super().__init__(300,500)
|
|
self.button = tk.Button(self.root, text="calculate", command=self.on_click)
|
|
self.c_button = tk.Button(self.root, text="close", command=self.close)
|
|
self.list = tk.Listbox(self.root)
|
|
|
|
def init_widgets(self):
|
|
r = 0
|
|
for _ in range(4):
|
|
entry = tk.Entry(self.root, width=20)
|
|
entry.grid(row=r, column=1)
|
|
entries.append(entry)
|
|
label = tk.Label(self.root, text=f"{label_names[r]}")
|
|
label.grid(row=r, column=0)
|
|
labels.append(label)
|
|
r +=1
|
|
self.button.grid(column=2, row=0)
|
|
self.c_button.grid(column=2, row=1)
|
|
self.list.grid(column=1, row=5)
|
|
|
|
def on_click(self):
|
|
val = 0
|
|
for _ in range(4):
|
|
label_names[val] = entries[val].get()
|
|
entries[val].delete(0, tk.END)
|
|
val +=1
|
|
|
|
result = (int(label_names[0])*int(label_names[3])+int(label_names[1])) %int(label_names[2])
|
|
#v_k = (a * v_k + b) % m
|
|
self.list.insert(tk.END, result)
|
|
|
|
def close(self):
|
|
self.root.destroy()
|
|
|
|
def main ():
|
|
app = LehmerAlg()
|
|
app.run()
|
|
|
|
main() |