_tkinter.TclError: unknown option "-sashrelief"
时间: 2023-07-05 16:31:51 浏览: 49
抱歉,可能是因为 sashrelief 不是 ttk.Panedwindow() 方法的合法参数。那么取消中间的分隔线,可以使用 sashpad 参数来实现。您可以将 sashpad 设置为一个较大的值,例如:
```
pw = ttk.Panedwindow(self.master, orient='vertical', sashpad=100)
```
这样就会在中间的分隔线两侧添加一个较大的空白区域,看起来就像中间的分隔线被取消了一样。您可以根据需要调整 sashpad 的值。
相关问题
可是他提示_tkinter.TclError: unknown option -width
如果你在使用 `OptionMenu` 的时候出现了 `TclError: unknown option -width` 的错误提示,那么说明你的 tkinter 版本比较旧,不支持 `width` 参数。你可以尝试使用 `OptionMenu` 的 `width` 方法来设置宽度。例如:
```python
from tkinter import *
root = Tk()
variable = StringVar(root)
variable.set("Option 1")
option_menu = OptionMenu(root, variable, "Option 1", "Option 2", "Option 3")
option_menu.config(width=15) # 设置宽度为 15
# 使用 width 方法设置宽度
option_menu["menu"].config(width=15)
option_menu.pack()
root.mainloop()
```
在上面的例子中,我们首先使用 `config` 方法设置 `OptionMenu` 的宽度为 15。然后,通过 `option_menu["menu"]` 来访问 `OptionMenu` 的菜单,并使用 `config` 方法设置菜单的宽度为 15。这样就可以改变 `OptionMenu` 框的大小了。
_tkinter.TclError: unknown option "-autocomplete"
抱歉,看来 `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` 参数设置为数据列表即可。希望这能够解决你的问题!