sv_ttk 深色主题无法持续工作

问题描述 投票:0回答:1

我有两种方法可以创建和使用带有 sv_ttk 深色主题的 tkinter 窗口。一种方法由文本框、滚动条和按钮组成,效果非常好。第二种方法,由条目、标签和按钮组成,深色主题根本不起作用。

窗口的调用方式完全相同,并且窗口不会在创建和销毁它们的方法之外使用。

    # Create root window, make it appear on top, and set title
    root = tk.Tk()
    root.attributes('-topmost', True)
    root.title("User Input")

    # Set dark theme
    sv_ttk.set_theme('dark')

知道为什么输入/标签方法不应用深色主题吗?

python tkinter
1个回答
0
投票

我有两种方法可以通过 sv_ttk 创建和使用 tkinter 窗口 黑暗主题。一种方法,由文本框、滚动条和 按钮,完美运行。第二种方法由条目组成, 标签和按钮,深色主题根本不起作用。

问题可以解决。

  • from tkinter import ttk
    添加到模块。
  • 在第二种方法中添加
    ttk.
    前缀

片段:

import tkinter as tk
from tkinter import ttk
import sv_ttk
 

# Create root window, make it appear on top, and set title
root = tk.Tk()
root.attributes('-topmost', True)
root.title("User Input")

# Set dark theme
sv_ttk.set_theme('dark')

def sample():
    text_box = tk.Text(root)

    text_box.grid(row=0, column=0)
    
    sb = tk.Scrollbar(root, orient=tk.VERTICAL)
    sb.grid(row=0, column=1, sticky=tk.NS)

    text_box.config(yscrollcommand=sb.set)
    sb.config(command=text_box.yview)

    btn = ttk.Button(root, text="Button 1")
    btn.grid(row=1, column=0)


def sample_1():
    label = ttk.Label(root, text=r"sv_ttk dark theme not working consistently")
    label.grid(row=2, column=0)
    
    entry = ttk.Entry(root, width=10)
    entry.grid(row=3, column=0)

    button = ttk.Button(root, text="Button 2")
    button.grid(row=4, column=0)

if __name__=='__main__':
    sample()
    sample_1()
    root.mainloop()

截图:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.