微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Ttk 样式应用到 tk 类

如何解决Ttk 样式应用到 tk 类

使用 ttk bootstrap 我创建了一个主题,我希望将它应用到应用程序上。到目前为止,我得到了这段代码

class MainAppGui(tk.Tk):
    def __init__(self):
        tk.Tk.__init__(self)
        self.title("Interpreter")

        self.buildGUI()

        self.style = ttk.Style(self)
        self.style.configure('dark1',themes_file='..\\themes\\ttkbootstrap_themes_dark1.json')

    def buildGUI(self):

        self.InterBox = tk.Text(self)
        self.but1 = ttk.Button(text='ABC')

        self.InterBox.grid()
        self.but1.grid()

但是样式不适用。这可能很容易,但我不知道出了什么问题。我第一次尝试改变风格。

解决方法

您必须指定 from ttkbootstrap import Style
https://github.com/israel-dryer/ttkbootstrap/blob/master/docs/tutorial.rst

#! /usr/bin/env python3
from ttkbootstrap import Style
import tkinter.ttk as ttk
import tkinter as tk
import os

##  pip3 install ttkbootstrap
##  sudo apt install fonts-symbola

##  python3 -m ttkbootstrap
##  python3 -m ttkcreator

class MainAppGui(tk.Tk):
    def __init__(self):
        tk.Tk.__init__(self)
        self.title("Interpreter")

        cwd = os.getcwd()  ##  parent = os.path.dirname( cwd )
        filename = 'ttkbootstrap_themes_dark1.json'
        fullpath = os.path.join( cwd,'themes',filename )

        self.style = Style( theme='dark1',themes_file=fullpath )
        self.buildGUI()

    def buildGUI(self):
        self.InterBox = tk.Text(self)
        self.but1 = ttk.Button( text='ABC' )

        self.InterBox.grid()
        self.but1.grid()

MainAppGui()
tk.mainloop()

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。