如何解决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 举报,一经查实,本站将立刻删除。