枕头,Tkinter,Python,隐形图像按钮

2024-10-05 10:42:11 发布

您现在位置:Python中文网/ 问答频道 /正文

大家晚上好:)

所以,我一直在做我的一个小项目,我想出了这个代码(在Sapphire64的帮助下:) 我可以把一个图像显示为一个按钮,使它可以点击,但我有一个问题,你可以看到它是一个按钮,你可以看到一个矩形按钮框周围的图像。 我希望图像可以像按钮一样点击,但本质上是不可见的。 然后我试着把它做成一个checkbutton,它的工作原理基本上是一样的,但是我又发现了一些东西的可见证据,不仅仅是图像,checkbutton。我能不能把复选按钮隐藏起来?在

所以我的问题是,我怎样才能使一个可点击的图像不明显的是a按钮/checkbutton。在

谢谢!在

我把我的整个代码放在这里,你可以看到图像显示为两个按钮,一个被注释掉了。在

from tkinter import *
from PIL import Image, ImageTk

SWH = Tk() #Create Window

SWH.geometry("1024x950+130+0")
SWH.title("ServiceWhiz.")

img = None  #Var for future image named img. Currently giving it "None" as value.

def printimage():   #When print image is pressed do this:
    global img      #Make reference to predefined var.
    load = Image.open("ServiceWhiz.png")   #Load Image from file.
    render = ImageTk.PhotoImage(load)   #Load the image.

################################
    img = Checkbutton(SWH,state = ACTIVE,height = 45,width = 289,offvalue=0, image=render,command=imgpress)    #Display the image as a button and allow it to go to imgpress.
    #img = Button(SWH,image=render,command=imgpress)
################################
    img.image = render  
    img.place(x=0,y=0)
    return;

def imgpress():
    global img
    img.destroy()
    Label1 = Label(SWH, text="Image has been clicked",fg="#0094FF",font=('Arial',20)).pack()
    return;

SWTitle = Label(SWH, text="ServiceWhiz.",fg="#0094FF",font=('Arial',20)).pack()
MyButtonTest = Button(SWH, text="Click Me.",fg="White",bg="#0094FF",command=printimage).pack()

Tags: totextfrom图像imageimgswhrender
1条回答
网友
1楼 · 发布于 2024-10-05 10:42:11

如果希望能够单击图像,只需将绑定添加到<Button-1>。例如:

l = Label(..., image=render, ...)
...
def imgpress(event):
    ...
l.bind("<Button-1>", imgpress)
...

您可以通过将图像添加到画布并在画布上绑定来获得相同的效果。在

相关问题 更多 >

    热门问题