Belirli pozisyonlara yerleştirme

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 ’
]

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)
if 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
if c > 8 and r == 3:
c = 0
r+=1

bu kodla oluşan klavyeyi biraz aşağı kaydırmak istiyorum fakat x y gibi kavramlar çalışmıyor nasıl çözebilirm?

bkz: Soru Sorarken Sıkça Düşülen Hatalar#1

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 kullanmak grid 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’ın height 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
4 Beğeni

Çok teşekkürler sizin sayenizde günlerce uğraştığım şeyi yaptım (: