是否有等效于 Scrolledtext 小部件 Tkinter 的 ttk

Is there a ttk equivalent of Scrolledtext widget Tkinter

我将我的主 window 的主题设置为 awtheme 'awdark'。所有带有 ttk 扩展名的小部件都根据主题自行设置其外观,除了出现的滚动文本小部件白色(即字段的颜色以及滚动条的颜色和外观)可能是因为它不是 ttk.My 的一部分 scrolledtext 小部件包含在 ttk.Frame 小部件中 way.Is 有什么解决方法吗?

Is there a ttk equivalent of Scrolledtext widget Tkinter

不,没有。 ttk 小部件没有文本小部件。

scrolledtext 小部件只是一个文本小部件和滚动条,没有更多内容。只需几行代码,您就可以创建自己的使用 ttk 滚动条的滚动条。

这是一个不使用 classes 的解决方案。基于 class 的只是几行额外的代码。

import tkinter as tk
from tkinter import ttk

root = tk.Tk()

frame = ttk.Frame(root)
frame.pack(fill="both", expand=True)

text = tk.Text(frame, wrap="none")
vsb = ttk.Scrollbar(frame, command=text.yview, orient="vertical")
hsb = ttk.Scrollbar(frame, command=text.xview, orient="horizontal")
text.configure(yscrollcommand=vsb.set, xscrollcommand=hsb.set)

frame.grid_rowconfigure(0, weight=1)
frame.grid_columnconfigure(0, weight=1)

vsb.grid(row=0, column=1, sticky="ns")
hsb.grid(row=1, column=0, sticky="ew")
text.grid(row=0, column=0, sticky="nsew")

root.mainloop()