我正在制作一个 tkinter 程序,它将使用我创建的七段字体计算和显示一个数字。我想要实现的是当一个段没有被使用时,而不是它不显示,我想要它的颜色更深。示例是它看起来像:
我创建了 2 种字体,7seg(普通字体)和 7seg 倒置(未使用的段显示为较深的颜色),并希望将 2 重叠在一起,顶部图像上的 bg 是透明的。我尝试使用 wm_attributes
但这使整个事情变得透明,而不仅仅是顶部标签。我不确定这是否可能...
关于这部分的代码是:
segment_invert = Label(tab2, text = "888", font = ("7Seg_invert", 150), fg = "#800000",
bg = "black")
segment_invert.place(x = 20, y = 30)
segment = Label(tab2, text = "888", font = ("7 Segment none just", 150), fg = "red")
segment.place(x = 20, y = 30)
基本上我希望顶部的 Label
被看穿,并且只显示未使用的部分,显示下面使用的部分。
这是目前的样子:
答案 0 :(得分:0)
谢谢,将它创建为画布正是我想要的
import tkinter
from tkinter import ttk, Button, NORMAL, DISABLED, W, LabelFrame, Frame, Label, font, Canvas, Entry
main = tkinter.Tk()
std_size_w, std_size_h = "800","500"
main.geometry(f"{std_size_w}x{std_size_h}")
main.minsize(width = (int(std_size_w)), height = ((int(std_size_h))-300))
# Tabs
tab_setup = ttk.Notebook(main)
# Tab 1 Serial
tab1 = LabelFrame(tab_setup, text = "Setup Serial")
tab_setup.add(tab1, text = "Serial Setup")
tab2 = LabelFrame(tab_setup)
tab_setup.add(tab2, text = "Azkoyne Hopper U")
tab_setup.pack(expand=1, fill = "both", padx = 10, pady = 10)
canvas1 = Canvas(tab2, width = 400, height = 200, bg = "black")
canvas1.pack()
canvas1.create_text(200, 100, text = "888", font = ("7 Segment none just", 150), fill = "#4d0000")
canvas1.create_text(200, 100, text = "000", font = ("7 Segment none just", 150), fill = "red")
main.mainloop()
此处的屏幕截图working image