tkinter ttkでボーダー効果が得られないのはどうですか?
ボタンを取得するには、tkinter tkにボーダー効果はありません。私はborderwidth=0
に設定しました。ボタンが背景にマージされます。しかし、私はtkinter ttkで同じ効果を得ることはできません。私はborderwidth=0
をスタイルに設定しました。ボタンには常に境界線があります。どうしてか分かりません?
tkinter ttkでボーダー効果が得られないのはどうですか?
ボタンを取得するには、tkinter tkにボーダー効果はありません。私はborderwidth=0
に設定しました。ボタンが背景にマージされます。しかし、私はtkinter ttkで同じ効果を得ることはできません。私はborderwidth=0
をスタイルに設定しました。ボタンには常に境界線があります。どうしてか分かりません?
ttkスタイルを使用して、ボタンの浮き彫りをflat
またはborderwidthに0に設定することで、必要なものを達成できます。しかし、いくつかのttkテーマはこれらのスタイル設定を考慮しておらず、そのうちの1つはWindowsのデフォルトテーマです。テーマを「clam」または「alt」に設定すると、問題が解決するはずです。
import tkinter as tk
from tkinter import ttk
root = tk.Tk()
b1 = tk.Button(root, text='tk.Button', borderwidth=0)
b1.pack()
s = ttk.Style(root)
s.theme_use('clam')
s.configure('flat.TButton', borderwidth=0)
# s.configure('flat.TButton', relief='flat') gives the same result
b2 = ttk.Button(root, style='flat.TButton', text='ttk.Button')
b2.pack()
root.mainloop()
ウィンドウまたはosxで枠線を削除することはできません。それらのプラットフォーム上でttkボタンを使用することのポイントは、ネイティブウィジェットを得ることです。境界線のないボタンが必要な場合は、標準のtkボタンを使用します。
ご返信ありがとうございます、あなたのコードを試してみます、効果はありません、ttkボタンは常にボーダーを持っています –
@Pythonrookieシステムによっては異なる場合があります。 Linuxでは動作します。 – furas
@Python新人、 's.theme_use( 'clam')'を追加してみてください。私は効果がテーマに依存していると思うし、デフォルトのウィンドウテーマはフラットボタンをサポートしていないと思う。 –