tkinter仅显示标签文本的顶部

时间:2018-10-18 03:42:59

标签: python-3.x tkinter label raspberry-pi3

我正在使用2.8英寸PiTFT在python pi 3上使用python3和tkinter制作闹钟收音机。我正在使用一种称为数字7的真型字体。当我创建一个tkinter标签来保留时间时,则仅显示文本的前3 / 4s。如果添加“ \ 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,这是我从那里获得Digital 7的地方:

https://github.com/dec/angular-canvas-gauge/blob/master/Sample/fonts/digital-7-mono.ttf

0 个答案:

没有答案