Tkinter 自定义创建按钮

问题描述 投票:0回答:2

tkinter 可以从这样的图像或图标创建自定义按钮吗?

python button tkinter python-3.5
2个回答
34
投票

有可能!

如果查看按钮文档,您可以使用图像显示在按钮上。

例如:

from tkinter import *

root = Tk()

button = Button(root, text="Click me!")
img = PhotoImage(file="C:/path to image/example.gif") # make sure to add "/" not "\"
button.config(image=img)
button.pack() # Displaying the button

root.mainloop()

这是一个将图像添加到按钮小部件的简化示例,您可以使用按钮小部件制作更多酷炫的东西。


24
投票

我创建了一个名为 CustomTkinter 的库,使用它您可以或多或少地创建上图中显示的内容。 CustomTkinter 提供类似于 Tkinter 的小部件。它们可以自定义颜色和形状,这里我尝试创建类似于上图的东西:

enter image description here

没有按钮,还有很多其他元素,还支持深色和浅色主题:

enter image description here

您可以在这里查看图书馆:

https://customtkinter.tomschimansky.com https://github.com/TomSchimansky/CustomTkinter

一个简单的例子是:

import customtkinter

customtkinter.set_appearance_mode("System")
customtkinter.set_default_color_theme("blue")

app = customtkinter.CTk()  # create window
app.geometry("400x240")

def button_callback():
    print("button pressed")

# create button
button = customtkinter.CTkButton(app, command=button_callback)
button.grid(row=0, column=0, padx=20, pady=20)

app.mainloop()

在 macOS 上给出以下内容:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.