簡體   English   中英

如何通過鍵盤輸入將值注冊到ttk.Spinbox?

[英]How to register values to ttk.Spinbox via keyboard entry?

ttk.Spinbox小部件可以允許用戶在其輸入字段中輸入值並進行注冊嗎? 如果是這樣,我該怎么辦?

我知道可以在ttk.Spinbox的textvariable上使用.set()方法來更改其值。 但這不是我在想的。 相反,我只是想允許用戶點擊ttk.Entry的微件ttk.Spinbox和手動輸入值存在,並將它注冊到其textvariable 目前,我可以在那里輸入值,但是當我按下Return鍵時什么也沒發生。

謝謝。

ttk.Spinbox小部件可以允許用戶在其輸入字段中輸入值並進行注冊嗎? 如果是這樣,我該怎么辦?

如果將變量與textvariable屬性相關聯,則無需執行其他任何操作。 無論何時用戶通過箭頭或通過鍵入小部件的可編輯部分來更改值,變量中的值都會立即更新。

您可以通過創建同時與同一個變量關聯的旋轉框和標簽來對此進行驗證。 然后,您可以在編輯旋轉框時看到標簽實時更新。

例:

import tkinter as tk
from tkinter import ttk

root = tk.Tk()
spinvar = tk.IntVar()
spinbox = ttk.Spinbox(root, from_=0, to=100, textvariable=spinvar)
label = ttk.Label(root, textvariable=spinvar)
spinbox.pack()
label.pack()

root.mainloop()

目前,我可以在那里輸入值,但是當我按下Return鍵時什么也沒發生。

如果希望用戶按下<Return>鍵時發生某些事情,則必須添加綁定以調用函數。

例:

def do_something(event):
    print("do something:", spinvar.get())
spinbox.bind("<Return>", do_something)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM