2017-05-09 3 views
0

ラベルのテキストを制御できません。私は tkinterのjustifyコマンドとanchorコマンドを使用して、ラベル内のテキストの位置を制御できません。

from tkinter import * 

root = Tk() 
root.geometry('1080x640+0+0') 


Headings = ['Months','Days','* Occupancy','Energy \nConsumption','Fuel \nConsumption', 'Specific Fuel \nConsumption','Diesel Price','Specific Energy \nConsumption'] 
Units = ['2017','per month','man days/month','kWh/month','Litres','Litres/kWh','AED','kWh/man/day'] 
Headings_wd = [0,0,0,0,0,0,0,0] 
Units_wd = [0,0,0,0,0,0,0,0] 

for a in range(0,len(Headings)): 
    Headings_wd[a] = Label(root, text = Headings[a], justify = LEFT) 
    Headings_wd[a].place(x = 20 + a * 100, y = 20) 
    Units_wd[a] = Label(root, text = Units[a], anchor = 'e' , font = ("Helvetica" , 6)) 
    Units_wd[a].place(x = 20 + a * 100, y = 60) 

root.mainloop() 

は私が何をすべきかラベル の右端に Units_wdlabelsを持ちたい、これらのラベル

次の私のサンプルコードがあるを配置する場所を使用しています。

このサイトの以前の回答では、コマンドUnits_wd[a].config(borderwidth=1, relief="solid")を使用してデバッグしようとしましたが、placeを使用していると動作しません。

+1

を@WhatsThePoint望ましい結果を得るためにwidthコマンドを使用することによって解決されます'width'プロパティを使ってテキストの最大サイズを大きくすれば、' justify = RIGHT'を使って右に移動できます – WhatsThePoint

+1

'place'を_not_使用することを強くお勧めします。見栄えの良いGUIを作成し、サイズ変更、フォントの変更、および異なる解像度にうまく反応するのはずっと難しくなります。 –

答えて

1

コメントで述べたように、問題はあなたのラベルは、テキストを埋めるためだけの十分なスペースが作られているので

Headings_wd[a] = Label(root, text = Headings[a], width = 10, anchor = 'e') 

Units_wd[a] = Label(root, text = Units[a], width = 10, anchor = 'e' , font = ("Helvetica" , 6)) 

おかげでその

関連する問題