Невозможно применить ttkthemes ко всему окну GUI - PullRequest
0 голосов
/ 28 апреля 2020

Я создал 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?

...