【Tkinter】ttk Notebookタブに表示される破線を削除する方法
Tkinterアプリケーションでタブを使って作業内容を整理したい場合、Notebookウィジェットが便利です。Notebookウィジェットを使えば、アプリケーション内に複数のタブを作成でき、特定のフレームやイベントを他と切り分けて表示できます。
通常、Notebookウィジェットはttkのテーマ付きウィジェットを使って設定・スタイリングを行います。スタイルを定義する際は、TNotebookおよびTNotebook.Tabというパラメータを指定します。ところが、タブをクリックしたときに、タブの周囲に矩形の破線(フォーカス枠)が表示されることがあります。この破線は、スタイルを工夫することで簡単に非表示にできます。
破線を削除するサンプルコード
以下のコードでは、style.layout()でタブのレイアウトを再定義し、style.configure()でフォーカス時の色を背景色と同じに設定することで、破線を見えなくしています。
# 必要なライブラリをインポート
from tkinter import *
from tkinter import ttk
# tkinterフレームのインスタンスを作成
win = Tk()
win.geometry("700x350")
# ttkスタイルのインスタンスを作成
style = ttk.Style()
# Notebookウィジェット用のスタイルを定義
style.layout("Tab", [('Notebook.tab', {'sticky': 'nswe', 'children':
[('Notebook.padding', {'side': 'top', 'sticky': 'nswe', 'children':
[('Notebook.label', {'side': 'top', 'sticky': ''})],
})],
})]
)
# 定義したスタイルを使ってタブの破線を削除
style.configure("Tab", focuscolor=style.configure(".")["background"])
# Notebookウィジェットを作成
my_notebook = ttk.Notebook(win)
my_notebook.pack(expand=1, fill=BOTH)
# タブを作成
tab1 = ttk.Frame(my_notebook)
my_notebook.add(tab1, text="Tab 1")
tab2 = ttk.Frame(my_notebook)
my_notebook.add(tab2, text="Tab 2")
# 各タブ内にラベルを配置
Label(tab1, text="Hello, Howdy?",
font=('Helvetica 20 bold')).pack()
Label(tab2, text="This is a New Tab Context",
font=('Helvetica 20 bold')).pack()
win.mainloop()実行結果
上記のコードを実行すると、複数のタブを持つウィンドウが表示されます。

ウィンドウ上でタブを切り替えると、それぞれのタブに対応するコンテンツが表示されます。タブをクリックしても、破線のフォーカス枠は表示されなくなります。

ポイントまとめ
- style.layout():Notebookタブの内部構造(tab → padding → label)を再定義します。
- focuscolor:フォーカス時に表示される破線の色を指定します。背景色と同じ値を設定することで、事実上見えなくできます。
この方法を使えば、ttk Notebookのタブデザインをすっきりさせ、より洗練されたUIを実現できます。
-
Tkinterのリストボックスで選択した複数の項目を一括削除する方法
はじめに TkinterのListboxウィジェットでリストボックスを作成した際、ユーザーが選択した複数の項目をまとめて削除したいケースはよくあります。本記事では、その実装方法をサンプルコードとともにわかりやすく解説します。 複数選択を有効にするには デフォルト設定のリストボックスでは、1つの項目しか選択できません。複数の項目を選択できるようにするには、selectmodeオプションにMULTIPLEを指定します。 削除処理のポイントは、curselection()メソッドで現在選択されている項目のインデックスを取得し、後ろのインデックスから順番にdelete()メソッドを呼び出すことです。
-
Google Chromeでタブをピン留めする方法【初心者向け完全ガイド】
ブラウザで多数のタブを開いて作業していると、目的のタブに切り替えるだけでも一苦労です。そんな悩みを解決してくれるのが「タブのピン留め」機能です。この機能はGoogle Chromeをはじめ、Firefox、Microsoft Edge、Safariなど、主要なブラウザに古くから搭載されている定番機能です。 タブをピン留めすると、よく使う重要なページをすぐに見つけられるようになります。ピン留めされたタブは通常のタブより表示幅が狭く省スペースになり、さらにブラウザを再起動しても保持されます(最後に閉じたウィンドウに含まれている場合)。本記事では、Google Chromeでタブをピン留めする方法