У меня есть метка, которая должна отображать следующую информацию:
json = {
"H3": {
"atom": "H3",
"scheme": "NH3_ISA-GRID",
"type": "HN",
"rank": "4",
"moments": [
" Q0 Q1 Q2 Q3 Q4",
"0 0.353619 -0.000000 0.022593 -0.000000 0.016054",
"1s NaN -0.020984 -0.000000 -0.010761 -0.000000",
"1c NaN -0.009221 -0.000000 0.007970 -0.000000",
"2s NaN NaN -0.016711 -0.000000 0.015248",
"2c NaN NaN 0.016692 -0.000000 -0.009410",
"3s NaN NaN NaN 0.003688 -0.000001",
"3c NaN NaN NaN 0.025270 -0.000001",
"4s NaN NaN NaN NaN 0.005240",
"4c NaN NaN NaN NaN 0.010030"
],
"file": "/Users/gianluca/Desktop/project/example_molecules/ISA/OUT/NH3_ISA-GRID.mom"
}
}
Обратите внимание, как запись «моменты» правильно выровнена как таблица.
Это то, что у меня есть дляпытаясь получить эту информацию в метке:
root = tk.Tk()
root.title("PyMolDat")
num = 0
json = {
"H3": {
"atom": "H3",
"scheme": "NH3_ISA-GRID",
"type": "HN",
"rank": "4",
"moments": [
" Q0 Q1 Q2 Q3 Q4",
"0 0.353619 -0.000000 0.022593 -0.000000 0.016054",
"1s NaN -0.020984 -0.000000 -0.010761 -0.000000",
"1c NaN -0.009221 -0.000000 0.007970 -0.000000",
"2s NaN NaN -0.016711 -0.000000 0.015248",
"2c NaN NaN 0.016692 -0.000000 -0.009410",
"3s NaN NaN NaN 0.003688 -0.000001",
"3c NaN NaN NaN 0.025270 -0.000001",
"4s NaN NaN NaN NaN 0.005240",
"4c NaN NaN NaN NaN 0.010030"
],
"file": "/Users/gianluca/Desktop/project/example_molecules/ISA/OUT/NH3_ISA-GRID.mom"
}
}
for k, v in json.items():
for i, j in v.items():
tk.Label(root, text=i, width=10, anchor="w", font="Arial 10 bold").grid(row=num,
column=0, padx=10, sticky="ne")
tk.Label(root, text=j if i != "moments" else "\n".join(j), width=65, anchor="w", justify='left').grid(
row=num, column=1, padx=5)
num += 1
root.mainloop()
и полученная таблица вместо этого теряет соответствующий интервал, см. изображение 1:
![image_1](https://i.stack.imgur.com/2b4k0.png)
Есть идеи, как отформатировать текстовый блок "моменты"?Большое спасибо за ваше время и усилия.Я только что заметил, что информация в json не совпадает с изображением 1, но, конечно, все то же самое, мой плохой, однако, ничего не должно измениться.