Tkinterを使って、デスクトップアプリを作っています。
チェックボックスで並べた列の中で、印がついたものは取り消し線をつけるという機能を組みたいです。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
なるべき ご質問がもと詳しく書いた方がいいだと思います。^^
回答1件
0
下のコードが実現できます。
python
1import tkinter as tk 2from tkinter.font import Font 3 4class Pad(tk.Frame): 5 6 def __init__(self, parent, *args, **kwargs): 7 tk.Frame.__init__(self, parent, *args, **kwargs) 8 9 self.toolbar = tk.Frame(self, bg="#eee") 10 self.toolbar.pack(side="top", fill="x") 11 12 self.H_btn = tk.Button(self.toolbar, text="overstrike", command=self.make_H) 13 self.H_btn.pack(side="left") 14 15 self.clear_btn = tk.Button(self.toolbar, text="Clear", command=self.clear) 16 self.clear_btn.pack(side="left") 17 18 self.text = tk.Text(self) 19 self.text.insert("end", "Select part of text and then click 'Bold'...") 20 self.text.focus() 21 self.text.pack(fill="both", expand=True) 22 23 # configuring a tag called BOLD 24 self.text.tag_configure("overstrike") 25 26 def make_H(self): 27 # tk.TclError exception is raised if not text is selected 28 29 self.text.tag_remove("overstrike", "sel.first", "sel.last") 30 self.text.tag_add("overstrike", "sel.first", "sel.last") 31 overstrike_font = Font(self.text, self.text.cget("font")) 32 overstrike_font.configure(overstrike=1) 33 self.text.tag_configure("overstrike", font=overstrike_font) 34 35 def clear(self): 36 self.text.tag_remove("BOLD", "1.0", 'end') 37 38def demo(): 39 root = tk.Tk() 40 Pad(root).pack(expand=1, fill="both") 41 root.mainloop() 42 43if __name__ == "__main__": 44 demo()
投稿2021/04/10 14:57
総合スコア54
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。