带空格问题的Tkinter树视图字符串

时间:2018-04-20 07:05:06

标签: python tkinter treeview

当我从Tkinter树视图上的MySQL表打印数据时,如果作为字符串的数据包含空格,则将字符串分成两个字符串。这使得树视图中的desordre,列上的第一个新字符串,以及树视图下一列的新第二个字符串,为其他字符串保留。这是我如何在树视图上从MySQL表打印数据的代码.`rows = cur.fetchall()

if rows :      
    for z in rows:

                print z[0],z[1],z[2],z[3],z[4],z[5]
                tv.insert("","end", values=("%s %s %s"%(z[1],z[2],str(z[3]))))
                #tv.insert("","end", values=("%s %s %s %s %s %s %s %s %s"%(z[1], z[2],str(z[3]),z[4],z[5],z[6],z[7],z[8],z[9])))

cur.close()`

2 个答案:

答案 0 :(得分:0)

问题通过方法replace()解决,这可以按顺序打印数据,但我只想用字符串z [3]打印其空格。这是新代码:tv.insert("","end", values=("%s %s %s %s %s %s %s %s %s"%(z[1], z[2],z[3].replace(" ","-"),z[4],z[5],z[6],z[7],z[8],z[9])))。   用" - "替换空格。

答案 1 :(得分:0)

ttk.Treeview 似乎用空格将给定的字符串拆分为多个值。

如果您不喜欢这种行为,则必须将该值作为元组传递。

所以代替

tv.insert('', 'end', text='foo', values=('Lorem ipsum dolor sit amet'))

你应该写

tv.insert('', 'end', text='foo', values=('Lorem ipsum dolor sit amet', ))