ri1 = datetime.datetime.now().strftime('%H:%M:%S')self.combobox2 = tk.ttk.Combobox(input_frame, values=[ri1]) self.combobox2.pack(side=tk.LEFT, padx=2, pady=2) self.combobox2.current(0)將這個下拉輸入框獲取的時間需要實時更新
时间: 2024-02-03 09:04:26 浏览: 24
你可以使用`after()`方法来实现下拉框的实时更新。具体做法是,在创建`Combobox`之后,使用`after()`方法来调用一个函数,这个函数会更新下拉框中的时间,并再次调用自己以达到实时更新的效果。下面是一个示例代码,你可以参考一下:
```python
import tkinter as tk
from tkinter import ttk
import datetime
class ExampleApp(tk.Tk):
def __init__(self):
super().__init__()
self.title("实时更新 Combobox")
self.geometry("300x100")
input_frame = tk.Frame(self)
input_frame.pack(padx=10, pady=10)
self.combobox2 = ttk.Combobox(input_frame, values=[""])
self.combobox2.pack(side=tk.LEFT, padx=2, pady=2)
self.update_combobox2()
def update_combobox2(self):
ri1 = datetime.datetime.now().strftime('%H:%M:%S')
self.combobox2.config(values=[ri1])
self.after(1000, self.update_combobox2)
if __name__ == "__main__":
app = ExampleApp()
app.mainloop()
```
在这个示例代码中,`update_combobox2()`函数会先获取当前时间,并将时间作为下拉框的值进行更新。然后,使用`after(1000, self.update_combobox2)`方法将这个函数再次调用自己,以达到实时更新的效果。其中的1000表示1秒钟,你可以根据需要调整这个时间间隔。