【问题标题】:Add a custom image to my digital clock as background将自定义图像添加到我的数字时钟作为背景
【发布时间】:2022-11-11 02:17:34
【问题描述】:

我是 100% 的编码新手,几天前才开始遵循一些指南。我现在正在为我的桌面制作一个数字时钟,我想将我的背景更改为我拥有的自定义图像。

有人可以向我解释我可以在哪里更改它,以便背景成为我拥有的图像吗? BR

from tkinter import Tk
from tkinter import Label
import time
from PIL import Image, ImageTk


root = Tk()
root.title("Klocka")
root.attributes("-topmost", 1)
root.attributes('-alpha', 1)
root.iconbitmap('klocka.ico (1).ico')
root.geometry('600x400+50+50')


window_width = 255
window_height = 50

screen_width = root.winfo_screenwidth()
screen_height = root.winfo_screenheight()

center_x = int(screen_width/3500 - window_width / 0.97)
center_y = int(screen_height/1 - window_height / 0.62)

root.geometry(f'{window_width}x{window_height}+{center_x}+{center_y}')


def present_time():
    display_time = time.strftime("%I:%M:%S")
    digi_clock.config(text=display_time)
    digi_clock.after(200,present_time)

digi_clock = Label(root, font=("Arial",50),bg="black",fg="red")
digi_clock.pack()

present_time()

root.mainloop()

【问题讨论】:

    标签: python image background


    【解决方案1】:

    您可以尝试图像路径和背景图像概念。首先你必须选择图像,然后是它的大小和它的位置。

    IMAGE_PATH = 'PicNameHere.png' 宽度、高度 = 200、50

    bkrg 框架 = Bkgr 框架(根,IMAGE_PATH,宽度,高度) bkrg frame.pack()

    代码示例如下。

    from tkinter import Tk
    from tkinter import Label
    import time
    from PIL import Image, ImageTk
    
    IMAGE_PATH = 'PicNameHere.png'
    WIDTH, HEIGTH = 200, 50
    
    root = Tk()
    root.title("Klocka")
    root.attributes("-topmost", 1)
    root.attributes('-alpha', 1)
    root.iconbitmap('klocka.ico (1).ico')
    root.geometry('600x400+50+50')
    
    
    window_width = 255
    window_height = 50
    
    screen_width = root.winfo_screenwidth()
    screen_height = root.winfo_screenheight()
    
    center_x = int(screen_width/3500 - window_width / 0.97)
    center_y = int(screen_height/1 - window_height / 0.62)
    
    root.geometry(f'{window_width}x{window_height}+{center_x}+{center_y}')
    
    bkrgframe = BkgrFrame(root, IMAGE_PATH, WIDTH, HEIGTH)
    bkrgframe.pack()
    
    def present_time():
        display_time = time.strftime("%I:%M:%S")
        digi_clock.config(text=display_time)
        digi_clock.after(200,present_time)
    
    digi_clock = Label(root, font=("Arial",50),bg="black",fg="red")
    digi_clock.pack()
    
    present_time()
    
    root.mainloop()
    

    【讨论】:

    • bkrgframe = BkgrFrame(root, IMAGE_PATH, WIDTH, HEIGTH) NameError: name 'BkgrFrame' is not defined
    • 检查下面的答案@toyotaSupra
    【解决方案2】:
    from tkinter import Tk
    from tkinter import Label
    import time
    from PIL import Image, ImageTk
    
    
    
    root = Tk()
    root.title("Klocka")
    root.attributes("-topmost", 1)
    root.attributes('-alpha', 1)
    root.iconbitmap('klocka.ico (1).ico')
    root.geometry('600x400+50+50')
    
    bg = PhotoImage(file = "Your_img.png")
    canvas1 = Canvas( root, width = 400,
                     height = 400)
      
    canvas1.pack(fill = "both", expand = True)
    canvas1.create_image( 0, 0, image = bg, 
                         anchor = "nw")
    window_width = 255
    window_height = 50
    
    screen_width = root.winfo_screenwidth()
    screen_height = root.winfo_screenheight()
    
    center_x = int(screen_width/3500 - window_width / 0.97)
    center_y = int(screen_height/1 - window_height / 0.62)
    
    root.geometry(f'{window_width}x{window_height}+{center_x}+{center_y}')
    
    
    def present_time():
        display_time = time.strftime("%I:%M:%S")
        digi_clock.config(text=display_time)
        digi_clock.after(200,present_time)
    
    digi_clock = Label(root, font=("Arial",50),bg="black",fg="red")
    digi_clock.pack()
    
    present_time()
    
    root.mainloop()
    

    【讨论】:

      猜你喜欢
      • 2013-12-29
      • 2018-11-24
      • 1970-01-01
      • 1970-01-01
      • 2013-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-06
      相关资源
      最近更新 更多