Python - 在Tkinter标签中插入新行

时间:2015-08-06 11:26:49

标签: python tkinter label

我无法在使用Tkinter中的Label生成的输出中插入新行。下面是我的GUI图像,用于解释我的问题。

enter image description here

这是我用来定义标签的代码。

string1 = 'At pathID' + str(l.get('pathId'))+
          'In label' + str(keys) +':'+
          'profile in reference but not in copy' + 
           str(list(set(a_value)-set(b_value)))            

ttk.Label(t.sub_frame, text=string1).pack(side="left", fill="x", expand=1) 

我想要的是什么:

我想在At path ID0 in label.....

的开头添加一个新行

因此标签中的输出应如下所示,而不是像上面GUI图像中的一行所示:

At path ID0 In label1: profile in reference but not in copy[(18,0,0)] At path ID0 In label2: profile in reference but not in copy[(18,0,8)]

我尝试了什么:

上面显示的行是在循环中生成的,所以我尝试在行开始之前保留换行符号,但是它只显示下一行的输出,但是将它保持在一行中。

string1 = '\n' + '\nAt pathID' + str(l.get('pathId'))+
              'In label' + str(keys) +':'+
              'profile in reference but not in copy' + 
               str(list(set(a_value)-set(b_value))) 

我假设的原因是在每个循环中都会遇到换行符,我可以用换行符打印每一行。你们能给我一些建议吗?我想我在某个地方错过了一个小逻辑

1 个答案:

答案 0 :(得分:1)

我不明白为什么但由于某些原因,pack中的值导致了一些问题。我编辑了如下所示的代码。现在它的工作正常。

ttk.Label(t.sub_frame, text=string1).pack()

谢谢你们的关注。