用实现汽车信息搜索界面,要求如下: (1)创建汽车类,包含品牌、型号、马力、颜色等属性。 (2)界面包含文本行、按钮、组合框和列表框组件。组合 框用于选择按照哪种属性(品牌、型号、马力、颜色)进 行搜索,文本行中输入搜索信息,点击市按钮,在列表框中 显示相关汽车信息。 (3)当搜索不到相关汽车信息时,弹出提示对话框。
时间: 2023-07-10 13:16:07 浏览: 66
好的,这是一个简单的搜索界面,我可以为您提供一些思路和代码示例。首先,我们需要创建一个Car类,包含品牌、型号、马力、颜色等属性:
```python
class Car:
def __init__(self, brand, model, horsepower, color):
self.brand = brand
self.model = model
self.horsepower = horsepower
self.color = color
```
接下来,我们需要创建一个搜索界面,包含文本行、按钮、组合框和列表框组件。组合框用于选择按照哪种属性(品牌、型号、马力、颜色)进行搜索,文本行中输入搜索信息,点击按钮,在列表框中显示相关汽车信息。当搜索不到相关汽车信息时,弹出提示对话框。
```python
import tkinter as tk
from tkinter import messagebox
class CarSearch(tk.Frame):
def __init__(self, master=None):
super().__init__(master)
self.master = master
self.master.title("汽车信息搜索界面")
self.pack()
# 创建组件
self.search_type = tk.StringVar()
self.search_type.set("品牌")
self.type_option = tk.OptionMenu(self, self.search_type, "品牌", "型号", "马力", "颜色")
self.type_option.pack(side="left")
self.search_entry = tk.Entry(self)
self.search_entry.pack(side="left")
self.search_button = tk.Button(self, text="搜索", command=self.search_car)
self.search_button.pack(side="left")
self.car_list = tk.Listbox(self)
self.car_list.pack(side="left")
def search_car(self):
# 获取搜索类型和关键字
search_type = self.search_type.get()
keyword = self.search_entry.get()
# 搜索汽车信息
result = []
for car in car_list:
if getattr(car, search_type.lower()) == keyword:
result.append(car)
# 显示搜索结果
if len(result) == 0:
messagebox.showinfo("提示", "找不到相关汽车信息!")
else:
self.car_list.delete(0, tk.END)
for car in result:
self.car_list.insert(tk.END, f"{car.brand} {car.model} {car.horsepower}马力 {car.color}")
# 创建汽车列表
car_list = [Car("奥迪", "A4", 190, "白色"), Car("宝马", "X5", 245, "黑色"), Car("奔驰", "C200", 184, "银色")]
# 创建搜索界面并运行
root = tk.Tk()
app = CarSearch(master=root)
app.mainloop()
```
在上面的代码中,我们创建了一个CarSearch类继承自tk.Frame,包含了一个搜索界面和一个搜索函数search_car。当用户点击搜索按钮时,会调用search_car函数,在汽车列表中搜索相关汽车信息,并在列表框中显示搜索结果。如果搜索不到相关汽车信息,则弹出提示对话框。