質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
canvas

HTML5の<canvas>要素用のタグです。CanvasはHTML5から導入された、二次元の図形描写が可能な要素です。

Tkinter

Tkinterは、GUIツールキットである“Tk”をPythonから利用できるようにした標準ライブラリである。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

7266閲覧

python3 tkinterのCanvasの選択時の外枠の消し方が分かりません。

Yuiti628

総合スコア71

canvas

HTML5の<canvas>要素用のタグです。CanvasはHTML5から導入された、二次元の図形描写が可能な要素です。

Tkinter

Tkinterは、GUIツールキットである“Tk”をPythonから利用できるようにした標準ライブラリである。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/02/24 15:24

編集2021/02/24 16:44

pythonでGUIを作成しています。

入力ようにスクロールバー 付きのCanvasを作成しました。

選択時には枠線は出ていません。
しかし、画像のように、フォーカスを当てると枠線が出現します。

これはどのようにすれば消えるのでしょうか?

イメージ説明

###環境
OS: Mac
python3: 3.9.2
tk: 8.6.8
tcl: 8.6.8

python3

1 2# tkinter 3from tkinter import * 4import tkinter as tk 5 6class Application(Frame): 7 8 def __init__(self, master=None): 9 Frame.__init__(self,master) 10 master.configure(bg="white") 11 self.pack() #描写 12 self.create_widgets(master) #フォームの作成 13 14 15 16 #フォームの作成 17 def create_widgets(self,master): 18 19 """ 20 スクロールバー Canvas 21 """ 22 23 # フォルダー表示 フレーム 24 Frm5 = Frame(master) 25 26 self.canvas7 = Canvas(Frm5 ,bg="white") 27 28 29 bar = Scrollbar(Frm5, orient=VERTICAL) 30 bar.grid(row=0, column=1, sticky="ns") 31 bar.config(command=self.canvas7.yview) 32 bar.propagate(False) 33 34 35 Frm5.grid_columnconfigure(0, weight=1) 36 Frm5.pack(padx=10 ,pady=5 , fill="both") 37 38 # Canvas Widget を配置 39 cframe2=Frame(self.canvas7 ) 40 self.minicanca = self.canvas7.create_window((10, 10), window=cframe2, anchor="nw") 41 self.canvas7.config(yscrollcommand=bar.set) 42 self.canvas7.grid(row=0, column=0, padx=10 ,pady=5,sticky="we") 43 44 45 46 """ 47 アカウント名 48 """ 49 50 # アカウント名 ラベル 51 L_account = tk.Label(cframe2,font=("12")) 52 L_account.configure(text="アカウント名", bg="white" ) 53 L_account.grid(row=0, column=1,pady=5,padx=5) 54 55 56 for i in range(10): 57 58 # アカウント名 テキストボックス 59 Text_aka = StringVar() 60 self.aka_box = Entry(cframe2,textvariable=Text_aka ,width = 25 ,font=("12") ) 61 self.aka_box.grid(row=i +1, column=1, sticky="nw") 62 63 # canvas scroll 64 self.canvas7.update_idletasks() 65 self.canvas7.config(scrollregion=self.canvas7.bbox("all")) 66 67 68if __name__ == "__main__": 69 70 root = Tk() 71 app = Application(master=root) 72 app.mainloop() 73 74 75

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Marusoftware

2021/02/24 16:37 編集

tclとtkのバージョンをいただけると幸いです。 少なくともtkの方を... import tkinter root = tkinter.Tk() print("tk: ", root.call("info","patchlevel")) root = tkinter.Tcl() print("tcl: ", root.call("info","patchlevel")) また、pythonもいただければ...
Yuiti628

2021/02/24 16:44

申し訳ありません。 追記しました。
guest

回答1

0

ベストアンサー

...結局自分で考えてもわからなかったので、調べたところ、
こんな情報がありまして、
Canvas widgetのオプションにhighlightthickness=0を指定すると治るそうです。

投稿2021/02/24 16:51

編集2021/02/24 16:54
Marusoftware

総合スコア189

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Yuiti628

2021/02/24 17:00

この記事は見つけられていなかったです。ありがとうございます!!!!!!!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問