用python写一个界面带字符串控件,时间控件,数值控件和下拉列表控件的代码
时间: 2023-06-03 14:03:25 浏览: 100
好的,以下是一个简单的 Python Tkinter 程序,包含字符串控件、时间控件、数值控件和下拉选择控件:
```python
import tkinter as tk
from tkinter import ttk
from tkinter import messagebox
import datetime
class Application(tk.Frame):
def __init__(self, master=None):
super().__init__(master)
self.master = master
self.pack()
self.create_widgets()
def create_widgets(self):
# 字符串控件
self.label = tk.Label(self, text="请输入字符串:")
self.label.grid(row=0, column=0)
self.entry = tk.Entry(self)
self.entry.grid(row=0, column=1)
# 时间控件
self.time_label = tk.Label(self, text="请选择时间:")
self.time_label.grid(row=1, column=0)
self.time_picker = ttk.Combobox(self, values=list(range(24)), state="readonly")
self.time_picker.current(datetime.datetime.now().hour)
self.time_picker.grid(row=1, column=1)
# 数值控件
self.num_label = tk.Label(self, text="请选择数值:")
self.num_label.grid(row=2, column=0)
self.num_picker = tk.Spinbox(self, from_=0, to=100, increment=0.5, width=5)
self.num_picker.grid(row=2, column=1)
# 下拉选择控件
self.option_label = tk.Label(self, text="请选择:")
self.option_label.grid(row=3, column=0)
self.option_picker = ttk.Combobox(self, values=["选项A", "选项B", "选项C"], state="readonly")
self.option_picker.grid(row=3, column=1)
# 提交按钮
self.submit = tk.Button(self, text="提交", command=self.submit_callback)
self.submit.grid(row=4, column=1)
def submit_callback(self):
string_value = self.entry.get()
time_value = self.time_picker.get()
num_value = self.num_picker.get()
option_value = self.option_picker.get()
# 输出用户选择的值
messagebox.showinfo("值", f"字符串:{string_value}\n时间:{time_value}\n数值:{num_value}\n选项:{option_value}")
root = tk.Tk()
app = Application(master=root)
app.mainloop()
```
在这个程序中,我们使用了 Tkinter 库来创建 GUI 界面。我们的应用程序继承了 `tk.Frame` 类,并在构造函数中设置了我们希望出现在应用程序中的控件。
我们创建了一个 `Label` 控件和 `Entry` 控件用于获取用户输入的字符串。我们还使用 `ttk.Combobox` 创建了一个时间选择控件和一个下拉选择控件,以及一个 `Spinbox` 控件用于选择数值。
最后,我们在一个 `Button` 控件中设置了一个回调函数,用于处理用户提交的信息。在这个回调函数中,我们从各种控件中获取用户选择的值,并在一个对话框中显示这些值。
希望这个程序能对你有所帮助!
阅读全文