下面的代碼刪除Tkinter的標籤
from tkinter import *
window=Tk()
lbl=Label(window,width='30',height='15',relief='solid')
lbl.pack()
window.mainloop()
產生this
有僅在一側去除邊框的任何方式的邊界?
下面的代碼刪除Tkinter的標籤
from tkinter import *
window=Tk()
lbl=Label(window,width='30',height='15',relief='solid')
lbl.pack()
window.mainloop()
產生this
有僅在一側去除邊框的任何方式的邊界?
在Q使用的例子/ A here(我會鏈接到它作爲一個重複的問題,但它需要一些tweeking來比較這個OP的問題。)
我們可以創造什麼看起來像一個標籤三面邊界,一面沒有邊界。
from tkinter import *
class MyLabel(Frame):
def __init__(self, parent, myborderwidth=0, mybordercolor=None,
myborderplace='center', *args, **kwargs):
Frame.__init__(self, parent, bg=mybordercolor)
self.propagate(False)
self.label = Label(self, *args, **kwargs)
if myborderplace is 'left':
self.label.pack(side='right')
elif myborderplace is 'right':
self.label.pack(side='left')
else:
self.label.pack()
myborderwidth = myborderwidth * 2
self.config(width=self.label.winfo_reqwidth() + myborderwidth)
self.config(height=self.label.winfo_reqheight() + myborderwidth)
root=Tk()
root.geometry("50x50")
root.rowconfigure(0, weight=1)
root.columnconfigure(0, weight=1)
MyLabel(root, text='Hello World', myborderwidth=2, mybordercolor='black',
myborderplace='right').grid()
root.mainloop()
結果:
使用Canvas而不是Label更簡單嗎? –
@NafRose我不確定。我將不得不嘗試寫一個例子。你可以試試看,看看你有多遠。 –
如果我使用的標籤,而不是帆布,我可以通過創建邊緣線條讓三面的邊框。 示例代碼:
from tkinter import *
root=Tk()
canvas=Canvas(height='250',width ='250')
canvas.create_line(251,0,251,251,width=2,fill='black')
canvas.create_line(3,3,251,3,width=2,fill='black')
canvas.create_line(3,251,252,251,width=2,fill='black')
canvas.pack()
root.mainloop()
其中。OUPUTS this
有可能是更實用的方式,雖然。
有沒有,但你可以把你的創建框架與標籤內的框架並使用它來創建邊框。它更先進一些,但可以完成。 –