寫個計算程式,不知道怎么做,用Entry 作為獲取資料的輸入框
現在我想實作按回車鍵,讓焦點按順序下移,這樣便于輸入資料。
代碼想放在下面的方法 rswitch()中。
#coding=utf-8
#python 版本 3.6
from tkinter import *
from tkinter import messagebox
xname=[]
class Application(Frame):
def __init__(self, master=None):
super().__init__(master)
self.master = master
self.pack()
self.createWidget()
self.master.bind("<Return>", self.rswitch)
def createWidget(self):
for i in range(29):
lab01 = Label(self, text=i * 2 + 4)
lab01.grid(row=i, column=0)
for c in range(7):
for r in range(29):
xname.append(Entry(self, width=10))
xname[c*29+r].grid(row=r, column=c+1)
xname[0].focus_set()
def rswitch(self, event):
"""想在這兒實作一個功能,就是在按回車鍵的時候,Entry的焦點按順序向下移動"""
if __name__ == "__main__":
root = Tk()
root.geometry("800x600+200+200")
root.title("計算程式")
app = Application(root)
root.mainloop()
uj5u.com熱心網友回復:
我有一個不成熟的想法僅供參考:1、給每一個Entry組件都系結“回車”事件,然后都呼叫rswitch()
2、在rswitch中通過event.widget判斷目前焦點是在哪個Entry上,按下回車鍵就把焦點設定到所希望的下一個組件中
3、在眾多的Entry中應該某種位置關系,根據這種關聯來移動焦點。
比如:xname中裝的都是Entry的實體,那xname.index(event.widget)是否能獲取索引值
如果覺得可行就試試看,希望能有用。

uj5u.com熱心網友回復:
是的,可行,我再把xname的下標算一下就能實作合理的切換了。uj5u.com熱心網友回復:
解決了,能知道是哪個物件就好辦了。我是用index算出索引值,然后加減運算,切換到應該去的Entry里面。方法可能有點笨,但是功能實作了
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/249183.html
上一篇:為什么會報這個錯誤?
