_tkinter.TclError: unknown option "-autocomplete"
时间: 2023-07-07 12:43:06 浏览: 160
抱歉,看来 `Combobox` 组件不支持 `autocomplete` 属性。如果你想要实现自动补全功能,可以考虑使用第三方库 `tkinter-autocomplete`。下面是一个使用该库实现自动补全下拉框的例子:
```python
import openpyxl
import tkinter as tk
from tkinter import ttk
from tkinter_autocomplete import AutocompleteCombobox
class ExampleApp:
def __init__(self, master):
self.master = master
self.master.title("自动补全下拉框")
self.master.geometry("300x100")
self.container_top = ttk.Frame(self.master)
self.container_top.pack(expand=True, fill="both", padx=5, pady=5)
# 打开Excel文件
self.wb = openpyxl.load_workbook(r"C:\Users\bing3_chen\Desktop\1.xlsx")
self.record_sheet = self.wb["記錄"]
self.data_sheet = self.wb["數據"]
# 获取"數據"工作表的第一列数据
data_col = self.data_sheet['A']
data_list = [cell.value for cell in data_col]
# 在GUI界面中创建标签和下拉输入框
self.label10 = ttk.Label(self.container_top, text="PEGA-料号:")
self.label10.grid(row=0, column=0, padx=5, pady=5)
self.material_name11 = AutocompleteCombobox(self.container_top, completevalues=data_list)
self.material_name11.grid(row=0, column=1, padx=5, pady=5)
if __name__ == "__main__":
root = tk.Tk()
app = ExampleApp(root)
root.mainloop()
```
你只需要使用 `AutocompleteCombobox` 替换原来的 `Combobox` 组件,并将 `completevalues` 参数设置为数据列表即可。希望这能够解决你的问题!
阅读全文