我正在嘗試在 tkinter 框中顯示賬單Text,但無法使所有列(如名稱、價(jià)格等)對(duì)齊。是因?yàn)橛行┳帜副绕渌帜父鼘拞??ct=5.0for i in lst_bill:? ? txt_bill.insert(ct,'\n' + str(int(ct-4)))? # for sl.no? ? txt_bill.insert(tk.END,' '*11+i[0])? ? txt_bill.insert(tk.END,' '*(40-len(i[0]))+str(i[1]))? ? txt_bill.insert(tk.END,' '*(10-len(str(i[1]))) +i[2])? ? ct+=1lst_bill看起來像這樣:[['Orange Cake', 20, 'milk'], ['Red Velvet Cake', 30, 'None'],??['BlackCoffee', 5, 'None'], ['Pumpkin Pie', 10, 'Milk']]
1 回答

神不在的星期二
TA貢獻(xiàn)1963條經(jīng)驗(yàn) 獲得超6個(gè)贊
是的,這是因?yàn)槟褂玫氖强勺儗挾茸煮w。
您可以使用制表位而不用空格填充數(shù)據(jù)。例如,要將制表位設(shè)置為 50 像素、200 像素,然后是 250 像素,并且第三列右對(duì)齊,您可以這樣做:
txt_bill.configure(tabs="50 200 right 250")
ct=5.0
for i in lst_bill:
? ? txt_bill.insert("end", f"{int(ct-4)}\t{i[0]}\t{i[1]}\t{i[2]}\n")
? ? ct += 1
您可能希望根據(jù)字體和每列中數(shù)據(jù)的最大寬度來計(jì)算寬度,但這給出了總體思路。
添加回答
舉報(bào)
0/150
提交
取消