未知選項,配置ttk.Panedwindow和窗格時出現的壞指令

2024-04-27 02:26:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在试验ttk.窗格窗口,但得到的错误是假定有效的选项。一些选项有效(例如weight),但大多数都不行。请帮助我了解发生了什么!我使用的是python3.6.3、tk8.6和ttk0.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()

窗格窗口“未知选项”

如果我尝试更改窗格窗口的窗框宽度:

^{pr2}$

我收到一个“未知选项”错误:

^{3}$

子面板“未知选项”

如果我试图在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)

这给了我一个“错误的命令”错误,尽管智能感知识别它:

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: paneconfigure() missing 1 required positional argument: 'tagOrId'

Tags: inpyadd面板tkinter选项错误line
1条回答
网友
1楼 · 发布于 2024-04-27 02:26:50

错误确切地告诉您什么是错误的:您使用的是ttkPanedWindow小部件,并且该小部件不支持sashwidth选项,也不支持paneconfigure方法的minsize选项。这两者都只有tkinterPanedWindow小部件支持。在

换句话说,您似乎依赖于tkinterPanedWindow小部件的文档,但实际上使用的是ttkPanedWindow小部件。这两个小部件具有相似的外观和感觉,但是配置它们的方式却截然不同。在

相关问题 更多 >