tkinter отображает только верхнюю часть текста метки - PullRequest
0 голосов
/ 18 октября 2018

Я делаю радио с будильником, используя python3, tkinter на Raspberry Pi 3, используя 2.8-дюймовый PiTFT.И я использую настоящий шрифт типа digital-7.Когда я создаю ярлык tkinter для хранения времени, отображаются только верхние 3/4 текста.Если я добавлю «\ n», отобразится полный текст.Я много искал, но так и не смог найти решение.Любая помощь будет оценена.

time displayed correctly

Вот фрагмент кода:

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

...