私は本当にtkinterには新しく、何をしようとしているのはtkinterフレームに出力を表示することです。他の方法を知らないため、ラベルを文字列(表示したい出力)に設定してから、ラベルをフレームにパックしようとしています。これは私の唯一の問題は、フォーマットされている方法です。文字列は、以下のようなことになっている: tkinterで多列の文字列をうまくフォーマットする方法
をしかし、私はTkinterの中にそれを置くときには、次のようになります。
はTkinterのに出力文字列にこのまたはより良い方法を修正する代わりにするためにとにかくありラベルを使用して 私は(私が必要として、私は、各列のサイズを変更することができるようにgetPrettyString機能がELIF年代非常に多くを持っている理由は)その方法は、次のようになります文字列を取得するために使用しています機能:
def getPrettyString(record):
string = ""
for i in range(len(record)):
if i == 0:
string += '{:<25}'.format(record[i])
elif i == 1:
string += '{:<25}'.format(record[i])
elif i == 2:
string += '{:<25}'.format(record[i])
elif i == 3:
string += '{:<25}'.format(record[i])
elif i == 4:
string += '{:<25}'.format(record[i])
elif i == 5:
string += '{:<25}'.format(record[i])
elif i == 6:
string += '{:<25}'.format(record[i])
elif i == 7:
string += '{:<25}'.format(record[i])
return string
def writeTable(table):
record = ''
header = ["ID", "Assignment Name", "Submission Date", "Time of submission", "Group Assignment", "Group comments",
"Assignment Text", "Marks"]
record += getPrettyString(header)
record += '\n'
for team in table:
record += getPrettyString(team)
record += '\n'
return record
マイTkinterのコードは次のようになります。
class View_marks_student:
def __init__(self, master):
master.geometry('1080x1920')
master.title("Student Marks Page")
string = StringVar()
string.set(writeTable(table_details))
self.label = Label(master, textvariable=string, anchor=N, justify=LEFT)
self.label.pack(anchor=NW, fill=BOTH, expand=1)
すべてのヘルプは.grid()
を使用することがずっと簡単で、非常に多くよく見える傾向があり、テーブルを描画するための
ヨ、おかげで私は必要な正確に何をそんなに男は、文字通り私を救いました割り当て、感謝の男 –
これがあなたの質問に答えるなら、それをあなたの受け入れられた答えとしてマークしてください。 –