Python实现使用tkinter弹出输入框输入数字, 具有确定输入和清除功能
时间: 2024-03-24 11:40:44 浏览: 22
可以使用tkinter中的simpledialog模块来实现弹出输入框输入数字的功能,代码如下:
```python
import tkinter as tk
from tkinter import simpledialog
classDialog(simpledialog.Dialog):
def __init__(self, parent, title, prompt):
self.prompt = prompt
self.result = None
super().__init__(parent, title=title)
def body(self, frame):
tk.Label(frame, text=self.prompt).pack()
self.entry = tk.Entry(frame)
self.entry.pack()
return self.entry
def apply(self):
try:
self.result = int(self.entry.get())
except ValueError:
self.result = None
def show_input_dialog(prompt):
root = tk.Tk()
root.withdraw()
dialog = InputDialog(root, 'Input', prompt)
return dialog.result
def on_ok():
input_value = show_input_dialog('Please enter a number:')
if input_value is not None:
print('Input:', input_value)
def on_clear():
print('Clear')
root = tk.Tk()
tk.Button(root, text='Input', command=on_ok).pack(side=tk.LEFT)
tk.Button(root, text='Clear', command=on_clear).pack(side=tk.LEFT)
root.mainloop()
```
在这个程序中,我们定义了一个InputDialog类,继承自simpledialog.Dialog类,用于弹出输入框,输入数字。show_input_dialog函数用于调用InputDialog类,返回输入的数字。
我们还定义了两个按钮,分别用于确定输入和清除输入。当点击确定按钮时,调用show_input_dialog函数获取输入的数字,如果输入的是数字,就打印出来;否则不做任何操作。当点击清除按钮时,打印出"Clear"。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)