GUI(tkinterテキストボックス)で行列の要素の値を入力し2次元配列型のデータを取得するソースです。行列は、変数により任意のサイズに変更可能。
qiita.rb
from tkinter import *
from tkinter import ttk
import numpy as np
# 入力用のGUI
def GUI_Input(n,m):
root = Tk()
root.title('Table Input')
#入力用フレーム
frame = ttk.Frame(root)
frame.grid(row=0, column=0)
list_Items = [0]*(n*m)
N = n
M = m
k=0
for i in range(0, n):
for j in range(0, m):
list_Items[k] = ttk.Entry(frame,width=2)
list_Items[k].grid(row=i+1, column=j+1)
k+=1
#テキストボックスからデータを取得し2次元配列としてprint出力
def ButtonClicked_Run():
B = [0]*(N*M)
for i in range(N*M):
B[i] = list_Items[i].get()
A= np.reshape(B, (N,M))
print(A)
#実行ボタンの設置
button_Run = ttk.Button(root,
text='実行',
padding=5,
command=ButtonClicked_Run)
button_Run.grid(row=1, column=0)
root.mainloop()
# n,mの数を変えて、表の行数を変える
m = 9
n = 9
GUI_Input(m,n)