Aug-24-2021, 02:32 PM
Hi
I have two moduls named First:
[[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]]
I need that tmp.get return value wchich i input through accept button. If possible i prefer not to edit First script.
I have two moduls named First:
import tkinter as tk from Second import ManualNodes class CC: def __init__(self): root = tk.Tk() root.minsize(300, 300) tmp = ManualNodes(4, root=root) print(tmp.get_forc()) root.mainloop() x=CC()and Second:
import numpy as np import tkinter as tk class ManualNodes: def __init__(self, row_num, root): self.row_num = row_num self.forces_table = np.zeros([self.row_num, 3]) self.root = root self.toplevel_dialog = tk.Toplevel(self.root) self.toplevel_dialog.transient(self.root) self.tkinter_menu() def get_forc(self): return self.forces_table def tkinter_menu(self): n = 0 lbx = tk.Label(master=self.toplevel_dialog, text='X forces') lbx.grid(row=0, column=1) lby = tk.Label(master=self.toplevel_dialog, text='Y forces') lby.grid(row=0, column=2) lbz = tk.Label(master=self.toplevel_dialog, text='Z forces') lbz.grid(row=0, column=3) mrow = None for mrow in range(self.row_num): lb = tk.Label(master=self.toplevel_dialog, text='węzeł numer {}'.format(n)) lb.grid(row=n + 1, column=0) n += 1 for mcol in range(3): en = tk.Entry(master=self.toplevel_dialog) en.grid(row=mrow + 1, column=mcol + 1) en.insert(0, '0') accept = tk.Button(master=self.toplevel_dialog, text="accept", command=self.accept_but) accept.grid(row=mrow + 2, column=0, columnspan=4) def accept_but(self): for key in self.toplevel_dialog.children: if str(type(self.toplevel_dialog.children[key])) == '<class \'tkinter.Entry\'>': row = self.toplevel_dialog.children[key].grid_info()['row'] col = self.toplevel_dialog.children[key].grid_info()['column'] self.forces_table[row - 1][col - 1] = float(self.toplevel_dialog.children[key].get()) self.toplevel_dialog.destroy()when I First i get output:
[[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]]
I need that tmp.get return value wchich i input through accept button. If possible i prefer not to edit First script.