前提・実現したいこと
pythonで、基本的な機能(保存、開く、文章の編集、等)の入った、html等を扱うテキストエディタを作っています。
ソースコードは、ネットのブログを参照させていただきました。
問題点はタイトルの通り、tkinter.text()の書いた文章の端の方の表示が見切れてしまいます。
↑スクロールバーが作動していない時は普通に表示されますが....
![イメージ説明]
↑文章が長くなってくると、たちまち端の2~3文字が見切れてしまいます。(見切れている部分には本来</p>が入っています)スクロールバーを動かそうとしても、これ以上動かすことができません。
この「文章の端が見切れてしまう」現象を解決する方法をご教授いただきたいです。
よろしくお願いします。
###エラーメッセージ
エラーメッセージ等は特にありませんでした。
該当のソースコード
python
1import tkinter as tk 2import tkinter.font as font 3import os 4import ctypes 5try: 6 ctypes.windll.shcore.SetProcessDpiAwareness(True) 7except: 8 pass 9 10from tkinter.filedialog import askopenfilename 11 12 13root = tk.Tk() 14my_font = font.Font(root,family = "MS Gothic") 15 16def new_text(): 17 import pathlib 18 19 file = pathlib.Path("..\writed_file") 20 file.touch() 21 22def open_text(): 23 typ = [('html Files', '*.html;*.css;*.js')] 24 filepath = askopenfilename(filetypes=typ) 25 if not filepath: 26 return 27 text_widget.delete('1.0', tk.END) 28 with open(filepath, "r", encoding="utf-8") as open_file: 29 text = open_file.read() 30 text_widget.insert(tk.END, text) 31 root.title(f'Text Files - {filepath}') 32 33### 34def naming_file_save(): 35 from tkinter.filedialog import asksaveasfilename 36 typ = [('html Files', '*.html;*.css;*.js')] 37 filepath = asksaveasfilename(defaultextension="txt",filetypes=typ) 38 if not filepath: 39 return 40 with open(filepath, "w") as save_file: 41 text = text_widget.get("1.0", tk.END) 42 save_file.write(text) 43 root.title(f"Text Editor - {filepath}") 44 45 46def btn_click(): 47 t1, t2 = txt_1.get(), txt_2.get() 48 if t1[-1] == '/': 49 pass 50 else: 51 t1 += '/' 52 file_pass = t1 + t2 53 text = text_widget.get('1.0','end -1c') 54 f = open(file_pass, 'w') 55 f.write(text) 56 f.close() 57 58text_widget = tk.Text(root,wrap = tk.NONE,font = my_font) 59text_widget.place(width=1600,height=970,x=320,y=0) 60root.columnconfigure(0, weight = 1) 61root.rowconfigure(0, weight = 1) 62 63yscroll = tk.Scrollbar(text_widget, command=text_widget.yview) 64xscroll = tk.Scrollbar(text_widget, command=text_widget.xview, orient=tk.HORIZONTAL) 65yscroll.pack(side=tk.RIGHT, fill = "y") 66xscroll.pack(side=tk.BOTTOM, fill = "x") 67text_widget['yscrollcommand'] = yscroll.set 68text_widget['xscrollcommand'] = xscroll.set 69 70menubar = tk.Menu(root, font = my_font) 71 72filemenu = tk.Menu(menubar, tearoff=0) 73filemenu.add_command(label = "新規(N)",command = new_text) 74filemenu.add_command(label = "開く(O)...",command = open_text) 75filemenu.add_command(label = "上書き保存(S)") 76filemenu.add_command(label = "名前を付けて保存(A)...", command = naming_file_save) 77filemenu.add_separator() 78filemenu.add_command(label = "ページ設定(U)...") 79filemenu.add_command(label = "印刷(P)...") 80filemenu.add_separator() 81filemenu.add_command(label = "終了(X)", command = root.quit) 82menubar.add_cascade(label = "ファイル(F)", menu = filemenu) 83 84editmenu = tk.Menu(menubar, tearoff=0) 85editmenu.add_command(label = "None") 86menubar.add_cascade(label = "編集(E)", menu = editmenu) 87 88formatmenu = tk.Menu(menubar, tearoff = 0) 89formatmenu.add_command(label = "None") 90menubar.add_cascade(label = "書式(O)", menu = formatmenu) 91 92viewmenu = tk.Menu(menubar, tearoff = 0) 93viewmenu.add_command(label = "None") 94menubar.add_cascade(label = "表示(V)", menu = viewmenu) 95 96helpmenu = tk.Menu(menubar, tearoff = 0) 97helpmenu.add_command(label = "None") 98menubar.add_cascade(label = "ヘルプ(H)", menu = helpmenu) 99 100root.config(menu = menubar) 101 102root.title("test") 103root.geometry("1500x750") 104root.state("zoomed") 105root.mainloop()
試したこと
フォントが駄目なのかなと思い、変更したり、特に設定をせずに実行してみたりしました。
ですが、どれも成功しませんでした。
補足情報
開発環境:atom エディタです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2021/07/11 04:14