我需要做一个这样的按钮:
像丝带的东西。我正在使用 CustomTkInter,但我们可以在普通 TkInter 上做的所有事情我都可以在 CustomTkInter 上做。我有一个名为 CTkOptionMenu 的小部件,他做我想做的事,但我想用下拉箭头更改他的按钮,并在主文本上放置一个图像,如功能区按钮。
我的问题是,有一个表格可以创建我自己的选项菜单小部件,或者我可以将下拉按钮和图像放在 customTkInter 的 OptionMenu 或 TkInter 中?
已编辑 11 月 4 日 - 上午 11 点
我发现有一个名为 MenuButton 的小部件,他看起来像我需要的小部件,但在代码中说:
"""Menubutton widget, obsolete since Tk8.0."""
我可以毫无问题地使用和设计他,或者有更好的解决方案?
我不认为我理解你的所有问题,但这个例子将使用 PIL 在 tkinter 中创建一个工具栏
from PIL import Image, ImageTk
import tkinter as tk
class MainWindow(tk.Frame):
def __init__(self, root: tk.Tk):
super().__init__()
self.root = root
self.fileMenu: tk.Menu
self.initUI()
def initUI(self):
self.root.title("Toolbar")
toolbar = tk.Frame(self.root, bd=2, relief=tk.RAISED)
img = Image.open("paste.png")
tk_img = ImageTk.PhotoImage(img)
paste_button = tk.Button(toolbar, image=tk_img, relief=tk.FLAT, command=self._paste_clipboard)
paste_button.image = tk_img
paste_button.pack(side=tk.LEFT, padx=1, pady=1)
toolbar.pack(side=tk.TOP, fill=tk.X)
self.pack()
def _paste_clipboard(self):
# insert code to paste data here
print('paste clipboard')
if __name__ == '__main__':
root = tk.Tk()
root.geometry("300x200")
main_window = MainWindow(root)
root.mainloop()