Как изменить размер Python3 Tkinter Combobox выбранное поле - PullRequest
0 голосов
/ 28 августа 2018

У меня есть следующий код

import tkinter as tk
from tkinter import ttk
from tkinter.font import Font
import datetime
import os


class Application(tk.Frame):
    def __init__(self, master=None):
        super().__init__(master)
        self.create_widgets()

    def create_widgets(self):
        OPTIONS = [1, 30, 60, 90, 120, 150, 180]

        self.variable = tk.IntVar(self.master)
        self.variable.set(OPTIONS[0])

        self.timeLabel = ttk.Label(self.master, text="Sleep Time: ", font=myFont)
        self.timeLabel.grid(row=0, column=0, padx=(20, 20), pady=(20, 20))

        self.time_option = ttk.Combobox(self.master, font=myFont,
                                        width=10, textvariable=self.variable, values=OPTIONS)
        self.time_option.grid(row=0, column=1, padx=(20, 20), pady=(20, 20))

        self.set_timer_call = ttk.Button(self.master, style='Kyle.TButton', text="Set Timer",
                                         command=self.set_timer_callback)
        self.set_timer_call.grid(row=1, column=0, columnspan=2, padx=(20, 20), pady=(20, 20))

        self.countdown = ttk.Label(self.master, text="00:00:00", font=myFont)
        self.countdown.grid(row=2, column=0, columnspan=2, padx=(20, 20), pady=(20, 20))

    def set_timer_callback(self):
        countdownTime = self.variable.get() * 60
        self.timeRemaining = datetime.timedelta(seconds=countdownTime)
        print(self.timeRemaining)
        self.countdown.configure(text=self.timeRemaining, font=myFont)
        self.begin_sleep_countdown_callback()

    def begin_sleep_countdown_callback(self):
        if self.countdown["text"] != "0:00:00":
            print("Time: " + str(self.timeRemaining))
            self.timeRemaining = self.timeRemaining - datetime.timedelta(seconds=1)
            self.countdown.configure(text=self.timeRemaining, font=myFont)
            self.after(1000, lambda: self.begin_sleep_countdown_callback())
        else:
            browserExe = "chrome.exe"
            os.system("taskkill /f /im "+browserExe)
            # os.system("pkill " + browserExe)
            root.destroy()


root = tk.Tk()
text = tk.Text(root)
myFont = Font(family="Times New Roman", size=100)
text.configure(font=myFont)
app = Application(master=root)
app.master.iconbitmap('alarmIcon.ico')
app.master.title("Sleep Timer")
app.master.geometry("1200x600")
buttonStyle = ttk.Style()
buttonStyle.configure('Kyle.TButton', font=myFont)
optionStyle = ttk.Style()
optionStyle.configure('Kyle.TCombobox', font=myFont)

root.option_add('*TCombobox*Listbox.font', myFont)
root.option_add('*TCombobox*Arrow', 100)
app.mainloop()

Все выглядит отлично, кроме выпадающего списка. Окно списка со списком выглядит хорошо, но когда у меня выбрана запись, выбранное поле (не знаю его технического названия) будет очень маленьким изображением приложения . Я работаю над этим уже несколько дней. Кто-нибудь знает как это исправить?

...