Я делаю радио с будильником, используя python3, tkinter на Raspberry Pi 3, используя 2.8-дюймовый PiTFT.И я использую настоящий шрифт типа digital-7.Когда я создаю ярлык tkinter для хранения времени, отображаются только верхние 3/4 текста.Если я добавлю «\ n», отобразится полный текст.Я много искал, но так и не смог найти решение.Любая помощь будет оценена.
Вот фрагмент кода:
import datetime
import tkinter as tk
root = tk.Tk()
root.configure(background='black')
# make root use full screen
root.overrideredirect(True)
root.geometry("{0}x{1}+0+0".format(root.winfo_screenwidth(), root.winfo_screenheight()))
# using 2.8 PiTFT with 320x240 display
timeText = tk.StringVar()
# digital-7 is a true type font, which shows clock in 7 segment display
timeLabel = tk.Label(root, font=('digital-7', 120), fg='red', bg='black', textvariable=timeText, anchor='n')
timeLabel.grid(row=0, columnspan=6)
def updateDate():
global timeText
dt = datetime.datetime.now()
# without the '\n' the bottom part of the time gets cropped
tts = dt.strftime('%H:%M')
timeText.set(tts+'\n')
root.after(2000, updateDate)
updateDate()
root.mainloop()
Полный код здесь (это все еще работа вПрогресс):
https://raw.githubusercontent.com/dumbo25/tkinter-alarm-clock-radio-gui/master/acr.py
digital-7 идет в /home/pi/.fonts и вот где я получил цифровой 7 от:
https://github.com/dec/angular-canvas-gauge/blob/master/Sample/fonts/digital-7-mono.ttf