Я создал GUI для платформы windows, используя tkinter и пытаясь использовать ttkthemes внутри, но тема применяется только к ярлыкам и кнопкам, но не к окну root.
ниже - мой код.
from tkinter import *
import tkinter as tk
from tkinter import Tk
import ttkthemes
import tkinter.messagebox
import cx_Oracle
import getpass
import socket
import datetime
import win32api
import win32net
import os
import sys
root = tk.Tk()
root.style = ttkthemes.ThemedStyle()
root.style.theme_use('black')
root.title("Survey")
root.geometry("235x235+1350+70")
root.resizable(width="false", height="false")
day_selected = IntVar()
mood_selected = IntVar()
work_selected = IntVar()
# creating values for entry
staffid = getpass.getuser()
machine = socket.gethostname()
now = datetime.datetime.now()
user_info = win32net.NetUserGetInfo(win32net.NetGetAnyDCName(), win32api.GetUserName(), 2)
full_name = user_info["full_name"]
name = full_name.split()[0]
hour = int(datetime.datetime.now().hour)
def wish():
if hour>=0 and hour<12:
return ("Good Morning")
elif hour>=12 and hour<17:
return ("Good Afternoon")
else:
return ("Good evening")
my_wish = wish()
def done():
if day_selected.get()<1 or mood_selected.get()<1 or work_selected.get()<1:
tkinter.messagebox.showinfo("Error", "Please select all the appropriate answers!")
else:
tkinter.messagebox.showinfo("Thank you", "Thank you for completing the survey !!!")
sys.exit()
lab0 = tk.Label(root, text=wish()+", "+name, font=("calibri", 13, "bold")).pack()
lab1 = tk.Label(root,text="So far, How is your", font=("calibri", 20, "bold")).pack()
lab2 = tk.Label(root, text="Day", font=("calibri", 14, "bold")).place(x=8, y=80)
r1 = tk.Radiobutton(root,text="Good",variable=day_selected, value=1).place(x=110,y=82)
r2 = tk.Radiobutton(root,text="Bad",variable=day_selected, value=2).place(x=170,y=82)
lab3 = tk.Label(root, text="Mood", font=("calibri", 14, "bold")).place(x=8, y=120)
r3 = tk.Radiobutton(root,text="Good", variable=mood_selected, value=3).place(x=110,y=122)
r4 = tk.Radiobutton(root,text="Bad", variable=mood_selected, value=4).place(x=170,y=122)
lab4 = tk.Label(root, text="Work", font=("calibri", 14, "bold")).place(x=8, y=160)
r5 = tk.Radiobutton(root,text="Good", variable=work_selected, value=5).place(x=110,y=162)
r6 = tk.Radiobutton(root,text="Bad",variable=work_selected, value=6).place(x=170,y=162)
button = tk.Button(root, text="Submit", command=done).pack(side=BOTTOM)
root.mainloop()
Вопрос 1: Как применить ttkthemes ко всему root, включая метки и кнопку?
Вопрос 2: Как я могу связать темы с pyinstaller?