Sorunuza gelecek olursak;
ne istediğinizden tam emin değilim ama grid
yerine place
kullanmayı deneyebilirsiniz.
def click(key):
if key == "<-":
entry2 = entry.get()
pos = entry2.find("")
pos2 = entry2[pos:]
entry.delete(pos2, tk.END)
elif key == " Space ":
entry.insert(tk.END, "")
else:
entry.insert(tk.END,key)
button_list = ["q","w","e","r","t","y","u","i","o","p","<-","a","s","d","f","g","h","j","k","l","z","x","c","v","b","n","m"," Space "]
x=0# sağa-sola taşımak için x kordinatını arttırıp,azaltın
y=100#yukarı,aşşağı taşımak için y kordinatını arttıp,azaltın
count=0
for b in button_list:
rel = "groove"
command = lambda x=b: click(x)
if b != " Space ":
tk.Button(pencere, text = b, width = 5, relief = rel, command = command).place(x=x,y=y)
elif b == " Space ":
tk.Button(pencere, text = b, width = 30, relief = rel, command = command).place(x=x,y=y)
x+=180
count+=1
if count==11:
x=0
y+=72
elif count==20:
x=0
y+=72
elif count==27:
x=560
y+=72
place
kullanmakgrid
kullanmaktan daha çok uğraştırabilir ama daha iyi sonuçlar alabilirsiniz.
Ya da basitce şöyle yapabilirsiniz:
Butonları oluşturmadan önce bir Label oluşturun
.grid(row=0,column=0)
ile konumlandırın. Böylece ondan sonra oluşan her şey Label’dan sonraki satırda konumlanacak. Label’ınheight
değerini azaltıp,arttırarak istediğiniz uzaklığı elde edebilirsiniz.
def click(key):
if key == "<-":
entry2 = entry.get()
pos = entry2.find("")
pos2 = entry2[pos:]
entry.delete(pos2, tk.END)
elif key == " Space ":
entry.insert(tk.END, "")
else:
entry.insert(tk.END,key)
button_list = ["q","w","e","r","t","y","u","i","o","p","<-","a","s","d","f","g","h","j","k","l","z","x","c","v","b","n","m"," Space "]
tk.Label(text="",height=5).grid(row=0,column=0)#height değerini azaltıp,arttırarak istediğiniz uzaklığı elde edebilirsiniz
r = 2
c = 0
for b in button_list:
rel = "groove"
command = lambda x=b: click(x)
if b != " Space ":
tk.Button(pencere, text = b, width = 5, relief = rel, command = command).grid(row = r, column = c)
elif b == " Space ":
tk.Button(pencere, text = b, width = 30, relief = rel, command = command).grid(row = 10, columnspan = 10)
c+=1
if c > 10 and r == 2:
c = 0
r+=1
elif c > 8 and r == 3:
c = 0
r+=1