Tkinter for Python中的Focus方法不起作用
我正在使用focus方法在Tkinter for Python中设置一个具有focus的条目,但不起作用。脚本如下所示:Tkinter for Python中的Focus方法不起作用,python,tkinter,focus,Python,Tkinter,Focus,我正在使用focus方法在Tkinter for Python中设置一个具有focus的条目,但不起作用。脚本如下所示: #-*- coding: utf-8 -*- from tkinter import * from tkinter import ttk import sqlite3 def agregar(): def erase(): eNom.set(fieldvalues[0]) eQty.set("") eUnit.set
#-*- coding: utf-8 -*-
from tkinter import *
from tkinter import ttk
import sqlite3
def agregar():
def erase():
eNom.set(fieldvalues[0])
eQty.set("")
eUnit.set("")
ePrice.set("")
total = 0
txtTotal = ttk.Label(frame, text=total, width=20).grid(column=4, row=1, sticky=E)
txtQty.focus()
getQty = eQty.get()
quantity = float(getQty)
getNom = eNom.get()
cur.execute("SELECT field_nom, field_unit, field_price FROM Products WHERE field_nom = ?;", (getNom, ))
for nom, unit, price in cur:
unit = unit
price = price
total = quantity * price
total = str(total)
eUnit = StringVar()
txtUnit = ttk.Entry(frame, textvariable=eUnit, width=15).grid(column=2, row=1)
eUnit.set(unit)
ePrice = StringVar()
txtPrice = ttk.Entry(frame, textvariable=ePrice, width=20).grid(column=3, row=1)
ePrice.set(price)
txtTotal = ttk.Label(frame, text=total, width=20).grid(column=4, row=1, sticky=E)
ttk.Button(frame, text="OK", command=erase).grid(column=2, row=2)
main = Tk()
main.title("Y que aparece")
main.geometry("+50+100")
frame = ttk.Frame(main, padding=(3, 3, 12, 12), relief="raised")
frame.grid(column=0, row=0, sticky=(N, S, E, W))
conn = sqlite3.connect("prueba.sqlite3")
cur = conn.cursor()
ttk.Label(frame, text="Qty").grid(column=0, row=0)
ttk.Label(frame, text="Product").grid(column=1, row=0)
ttk.Label(frame, text="Unit").grid(column=2, row=0)
ttk.Label(frame, text="Price").grid(column=3, row=0)
ttk.Label(frame, text="Total").grid(column=4, row=0)
eQty = StringVar()
txtQty = ttk.Entry(frame, textvariable=eQty, width=10).grid(column=0, row=1)
eNom = StringVar()
fieldvalues = list()
cur.execute("SELECT field_id, field_nom FROM Products")
for fid, fnom in cur:
fieldvalues.append(fnom)
ttk.Combobox(frame, values=fieldvalues, textvariable=eNom, width=30).grid(column=1, row=1, sticky=W)
eNom.set(fieldvalues[0])
ttk.Button(frame, text="Agregar", command=agregar).grid(column=3, row=2)
ttk.Button(frame, text="Salir", command=main.destroy).grid(column=1, row=2)
main.mainloop()
我试图将焦点指向txtQty条目小部件,但收到以下错误消息:
AttributeError:“无类型”对象没有属性“焦点”
提前谢谢
txtQty = ttk.Entry(frame, textvariable=eQty, width=10).grid(column=0, row=1)
txtQty
为无,因为这是grid
的返回值
在单独的行上执行赋值和网格划分
txtQty = ttk.Entry(frame, textvariable=eQty, width=10)
txtQty.grid(column=0, row=1)
非常感谢Kevir!效果很好!