小编Msg*_*Msg的帖子

禁用tkinter ttk比例小部件

我正在尝试禁用框架中的所有(ttk)小部件,但是似乎scale小部件给我带来了一些麻烦,因为它引发了以下异常:

_tkinter.TclError:未知选项“-状态”

一些相关的代码:

import tkinter as tk
from tkinter import ttk

def disable_widgets(parent):
    for child in parent.winfo_children():
        child.config(state = 'disabled')

root = tk.Tk()

# Frame full of widgets to toggle
frame_of_widgets = ttk.Frame(root)
frame_of_widgets.pack()

# Button to be disabled
button_to_disable = ttk.Button(frame_of_widgets)
button_to_disable.pack()

# Entry to be disabled
entry_to_disable = ttk.Entry(frame_of_widgets)
entry_to_disable.pack()

# Scale to be disabled
scale_to_disable = ttk.Scale(frame_of_widgets)
scale_to_disable.pack()

# Button that disables widgets in frame
disable_button = ttk.Button(root,text="Disable",command= lambda: disable_widgets(frame_of_widgets))
disable_button.pack()

root.mainloop()
Run Code Online (Sandbox Code Playgroud)

它适用于按钮和输入,但不适用于刻度。我以为ttk的好处之一是使小部件的通用方法和属性更加统一,所以我猜想我可能错误地访问了所有这三个小部件?

python user-interface tkinter ttk

2
推荐指数
1
解决办法
1627
查看次数

使用字体模块的 Tkinter 代码无法从命令行运行?

我有使用 tkinter 的代码,我可以从 IDLE 运行它,但是AttributeError: 'module' object has no attribute 'font'当它从命令行运行时会抛出异常。其他 tkinter 程序工作正常,但任何使用 tkinter 包的 font.py 的东西都会给我这个错误。

我检查了我的 python 文件,并且 c:/Python34/Lib/tkinter/font.py 就在那里。我不知道为什么,从命令行,它认为字体是一个属性,而不是 tkinter 包的模块。

示例代码:

import tkinter as tk
from tkinter import ttk

root = tk.Tk()

test_font = tk.font.Font(size=12,weight='bold')

root.mainloop()
Run Code Online (Sandbox Code Playgroud)

python tkinter python-idle

2
推荐指数
1
解决办法
3034
查看次数

标签 统计

python ×2

tkinter ×2

python-idle ×1

ttk ×1

user-interface ×1