2017-05-09 48 views
0

私はいくつかのフレームを持つプログラムを持っています。すべてがうまくいきますが、なぜフレームの1つの周りに境界線が存在するのかわかりません。Python Tkinterフレームの周りの枠線を削除する方法は?

私はいくつかのことを試しました。

kwListFrame = Frame(root, highlightthickness=0) 
#or 
kwListFrame = Frame(root, padx=0, pady=0) 
#or 
kwListFrame = Frame(root, bd=0) 

そして、私が試したことdidntは作業後:

kwListFrame = Frame(root) 

へ:

kwListFrame = Frame(root) 
kwListFrame.grid(row = 1, column = 0, rowspan = 1, columnspan = 1, sticky = N+S+E+W) 
kwListFrame.columnconfigure(0, weight=1) 
kwBGimage = Label(kwListFrame, image= baseBGimage) 
kwBGimage.image = baseBGimage 
kwBGimage.place(x = 0, y = 0) 
kwBGimage.config(image = baseBGimage) 

私は変更しようとしている。ここで

は私のフレームが作成される方法です

kwListFrame = Frame(root, highlightbackground= "some color that matches frame") 

私は、デフォルト値がフラットであることを知っていても、平らに逃げを設定しようとしました。

私はキャンバス上の枠線を削除するための参照がいくつか見つかりましたので、Framesに直接関連するものは見つかりませんでした。だから私はhighlightthicknesshighlightbackgroundを間違って使用しているかもしれませんが、それはトリックを行う必要がありますように縫い目がないようにエラーをスローしませんでした。

これは、フレームが上部に細い境界線を表示する方法のイメージです。

enter image description here

私は、問題が存在する理由を確認していません。私は背景としてイメージを使用しているからですか?

それははるかになりますので、私はここにすべての私のコードを投稿したくありませんでしたが、あなたは完全なコードを表示したい場合は、私のプログラムはGithub

答えて

1

に最初のステップは、両方borderwidthを設定することですされており、 highlightthicknessをゼロにします。フレームには、実際の境界線と「ハイライトリング」という2つの境界線のようなオブジェクトがあります。後者は、フレームにフォーカスがあることを示すためのものです。

これを実行すると、フレームに枠線が表示されなくなります。ウィジェットの周りに境界線のようなリングが残っている場合は、ジオメトリマネージャに適用されているパディングが原因である可能性があります。見ているのは、親ウィンドウの色です。

具体的には、フレームにラベルを貼り付けるので、ラベルの枠線をオフにする必要があります。フレームの境界線ではなく、ラベルの境界線が表示されている可能性が最も高いです。

問題を説明する最小限の、しかしそれ以外は完全に動作する例を提供していないので、これ以上具体的にすることはできません。

+0

私は 'kwListFrame = Frame(root、borderwidth = 0、highlightthickness = 0)を試しましたが、これもうまくいきませんでした。私は完全なコードのために私のgithubをリンクしました。ここに投稿する方法はたくさんありました。この問題の原因となるパディングがあるかどうかを確認します。 –

+0

@SierrMountainTech:私は自分の答えを更新しました。あなたが見ているのはおそらくラベルの縁です。 –

+0

ありがとうございます。あなたはそれが 'Label Border'だったのは正しいです。これは私の問題を解決しました。再度、感謝します。 –

関連する問題