繁体   English   中英

在 Tkinter 中使用 selectimage 时如何从屏幕上隐藏简单的 Checkbutton?

[英]How to hide simple Checkbutton from screen when using selectimage in Tkinter?

我正在制作一个 GUI 应用程序,我想在其中使用复选框( Checkbutton中的 Checkbutton)。 我不太喜欢简单复选按钮的设计(而且我不想使用 ttk),所以我决定使用来自互联网的图像。 我有一个 selected.png 和一个 deselected.png。 将它们分配给我的 Checkbutton 时,它们会出现,但原来的简单复选框不会消失。

这是 window 的屏幕截图,因此您可以更好地理解我在说什么。

...
deselect_image = PhotoImage(file='deselected.png')
select_image = PhotoImage(file='selected.png')

classic = Checkbutton(window, font = ('Courier', 10), image = deselect_image, text = " Classic theme", selectimage = select_image, compound = 'left', variable = theme_classic, bg = "#FFFFFF", command = lambda: select_theme("classic"))
classic.grid(row = 5, column = 1, sticky = "w")

blue = Checkbutton(window, font = ('Courier', 10), image = deselect_image, text = " Dark Blue theme", selectimage = select_image, compound = 'left', variable = theme_blue, bg = "#FFFFFF", command = lambda: select_theme("blue"))
blue.grid(row = 6, column = 1, sticky = "w")

black = Checkbutton(window, font = ('Courier', 10), image = deselect_image, text = " Black theme", selectimage = select_image, compound = 'left', variable = theme_black, bg = "#FFFFFF", command = lambda: select_theme("black"))
black.grid(row = 7, column = 1, sticky = "w")
...

我认为我们可以通过传递参数indicatoron=False来隐藏复选框,但这会在分别未选中和选中时给你一个凸起/凹陷的效果。 如果您不想要那种凸起/凹陷的效果,那么将borderwith 的值更改为 0

像这样的东西

Checkbutton(window, font = ('Courier', 10), image = deselect_image, 
            text = " Classic theme", selectimage = select_image, 
            compound = 'left', variable = theme_classic, bg = "#FFFFFF", 
            command = lambda: select_theme("classic"), 
            indicatoron=False, borderwidth=0)

查看Checkbutton的所有选项。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM