このホームページは Amazon Kindle 本の作成中の草稿です。日々、原稿を見直しているので、内容が変わることに留意して読んで下さい。本が出版され次第、このホームページは削除されます。
A1.13 線描画のダッシュパターン
キャンバスに直線を引くとき、tkinter の標準仕様では、直線のスタイルを破線に指定することができます。「dash」オプションを使用します。
標準仕様について説明しますが、「dash」オプションは OS に依存していて Windows では標準仕様で動作しません。
標準仕様では、「dash」オプションへの破線の描画指定は直線を引く部分と空白の部分を交互にピクセル単位でタプル形式で指定します。「dash = (3, 5)」は 3 ピクセルの直線を引き、その後 5 ピクセルの空白を設定してこの描画を繰り返します。「dash = (3, 5, 4, 2)」は 3 ピクセルの直線、その後 5 ピクセルの空白、4 ピクセルの直線、2 ピクセルの空白を設定して繰り返します。また、開始位置をサイクルの最初ではなく別の時点で破線パターンを開始するには「dashoff」または「dashoffset」オプションを使用しますが、このオプションは Windows では動作しません。
Windows では「dash」オプションの指定に文字列「.」、「-」、「-.」、「-..」を用いることができます。これらは、線幅が 1 ピクセルのときとそれ以上のときとで動作が異なっています。この違いが仕様かバグかは分かりません。それぞれの文字列における破線を下図に示します。上側に線幅が 1 ピクセル(w=1)のとき、下側に線幅が n ピクセル(w=n)のときを示しています。タプルでの表記はこの破線を標準仕様で表したときのピクセル値です。