【问题标题】:How to add background image to an tkinter application?如何将背景图像添加到 tkinter 应用程序?
【发布时间】:2021-07-29 11:35:58
【问题描述】:

我最近做了一个 Python 手表应用程序。但它看起来很无聊,因为只有一种颜色的背景,除了时间和日期什么都没有。所以我想为应用程序添加背景。我遇到了一个问题:如果我只是将图像打包到一个标签中,其他标签将不透明,并且会有自己的背景。我尝试使用tkinter.Canvas,但它不适用于标签。有什么建议吗?

这是应用程序第一个版本的代码:

from tkinter import *
from time import sleep
from random import choice
import datetime

root=Tk()
BGCOLOR='#000000'
FGCOLOR='#FFFFFF'
root.overrideredirect(True)
w = root.winfo_screenwidth()
h = root.winfo_screenheight()
root.geometry(str(w)+'x'+str(h)+'+0+0')
root.configure(bg=BGCOLOR)

date=str(datetime.datetime.now()).split()[0].split('-')
tl=Label(root,text=str(datetime.datetime.now()).split()[1].split('.')[0],font=['URW Gothic L',300], fg=FGCOLOR, bg=BGCOLOR)
dl=Label(root,text=date[2]+'.'+date[1]+'.'+date[0],font=['URW Gothic L',100],bg=BGCOLOR,fg=FGCOLOR)

tl.pack(expand=True, fill=BOTH)
dl.pack(expand=True,fill=BOTH)

Button(master=root,text='X',bg=BGCOLOR,fg=FGCOLOR,command=root.destroy).pack(side=RIGHT)

while True:
    tl.config(text=str(datetime.datetime.now()).split()[1].split('.')[0])
    if date!=str(datetime.datetime.now()).split()[0].split('-'):
        date=str(datetime.datetime.now()).split()[0].split('-')
        dl.config(text=date[2]+'.'+date[1]+'.'+date[0])
        dl.update()
    tl.update()
    sleep(1)

【问题讨论】:

  • 不,不起作用。我在tk.Tk().config() 中观看(不带参数它会打印出实际配置)并且没有名为“图像”的参数
  • 我做了。但它不适用于标签类
  • 哦,我找到了。但是...我不能选择前景色,可以吗?

标签: python-3.x tkinter canvas label


【解决方案1】:

好的,解决方案本身就是创建一个 Canvas 对象并使用带有“fill”和“font”参数的 create_text() 函数。最好的一点是你可以改变文本的位置

【讨论】:

    猜你喜欢
    • 2019-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-02
    • 1970-01-01
    • 2016-02-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多