Я экспериментирую с ttk.Panedwindow, но получаю ошибки с предположительно допустимыми параметрами.Несколько опций работают (например, weight
), но большинство не работает.Пожалуйста, помогите мне понять, что происходит!Я использую python 3.6.3, tk 8.6 и ttk 0.3.1
Рабочий фрагмент
import tkinter as tk
from tkinter import ttk
# setup the panedwindow
root = tk.Tk()
paned_w = ttk.Panedwindow(root, orient=tk.HORIZONTAL, width=300, height=300)
paned_w.pack(fill='both', expand=True)
# setup the panels
left_p = ttk.Label(paned_w, background='red')
right_p = ttk.Label(paned_w, background='yellow')
paned_w.add(left_p, weight=1)
paned_w.add(right_p, weight=3)
root.mainloop()
Panedwindow "неизвестная опция"
Если я пытаюсь изменитьsashwidth Panedwindow:
paned_w = ttk.Panedwindow(root, orient=tk.HORIZONTAL, width=300, height=300, sashwidth=20)
Я получаю ошибку «неизвестная опция»:
Traceback (most recent call last):
File "panedwindow.py", line 6, in <module>
paned_w = ttk.Panedwindow(root, orient=tk.HORIZONTAL, width=300, height=300, sashwidth=20)
File "C:\Users\david\Anaconda3\lib\tkinter\ttk.py", line 956, in __init__
Widget.__init__(self, master, "ttk::panedwindow", kw)
File "C:\Users\david\Anaconda3\lib\tkinter\ttk.py", line 559, in __init__
tkinter.Widget.__init__(self, master, widgetname, kw=kw)
File "C:\Users\david\Anaconda3\lib\tkinter\__init__.py", line 2293, in __init__
(widgetName, self._w) + extra + self._options(cnf))
_tkinter.TclError: unknown option "-sashwidth"
Дочерняя панель «неизвестная опция»
Та же ошибка возникает, еслиЯ пытаюсь настроить дочерние панели в методе add ():
paned_w.add(left_p, weight=1, minsize=10)
Выход:
Traceback (most recent call last):
File "panedwindow.py", line 12, in <module>
paned_w.add(left_p, weight=1, minsize=10)
File "C:\Users\david\Anaconda3\lib\tkinter\__init__.py", line 3817, in add
self.tk.call((self._w, 'add', child) + self._options(kw))
_tkinter.TclError: unknown option "-minsize"
Дочерняя панель "плохая команда"
Поскольку она неработать в методе add (), я пытался настроить его отдельно:
paned_w.paneconfig(left_p, minsize=10)
Это дает мне ошибку "плохая команда", несмотря на распознавание intellisense:
Traceback (most recent call last):
File "panedwindow.py", line 15, in <module>
paned_w.paneconfig(left_p, minsize=10)
File "C:\Users\david\Anaconda3\lib\tkinter\__init__.py", line 3972, in paneconfigure
self._options(cnf, kw))
_tkinter.TclError: bad command "paneconfigure": must be add, configure, cget, forget, identify, insert, instate, pane, panes, sashpos, or state
То же самоеошибка возникает, даже если я запускаю ее без каких-либо параметров.
Печать вывода paned_w.paneconfig () (без указания панели) дает мне TypeError, как я и ожидал, так ясно, что команда доступна:
TypeError: paneconfigure() missing 1 required positional argument: 'tagOrId'