我有一些代码可以输出一些质谱数据统计数据,例如
r43_header_label = tk.Label(stats_frame, text='4/3 Ratio')
r43_header_label.config(font=('System', 20, 'bold'))
r43_header_label.pack()
if analysis.ratio43_t0int > 0.01:
r43_t0int_label = tk.Label(stats_frame, text=f' t₀: {analysis.ratio43_t0int:.3f} ± {analysis.ratio43_uncert:.3e}', anchor='w', justify='left')
else:
r43_t0int_label = tk.Label(stats_frame, text=f' t₀: {analysis.ratio43_t0int:.3e} ± {analysis.ratio43_uncert:.3e}', anchor='w', justify='left')
r43_t0int_label.pack()
r43_t0err_label = tk.Label(stats_frame, text=f' error: {analysis.ratio43_puncert:.3f}%', anchor='w', justify='left')
r43_t0err_label.pack()
我认为将文本锚定到
'w'
est 和使用 justify='left'
肯定会让 tkinter 相信我希望文本左对齐,但是,这是结果的示例,它明显居中。
除了 +/- 误差远低于 % 误差这一事实之外(我也在努力解决这个问题),我做错了什么?
更好的是,我怎样才能让文本左对齐并且数字都以整齐的行开始,例如
t0: 0.75
error: 2.356%
mean: 1.5
为每个标签的
pack
调用适当设置填充选项应该使它们正确对齐
r43_header_label.pack(fill='x')
...
r43_t0int_label.pack(fill='x')
...
r43_t0err_label.pack(fill='x')
如果您想要两列数据,其中每行都有一个名称标签和一个关联值,一种简单但幼稚的方法是将两个标签封装在
Frame
中,并相应地 pack