質問
ScrolledText
Tkinter のウィジェットの特定の行の正当化を変更するにはどうすればよいですか?- 元のエラーの理由は何ですか?
バックグラウンド
私は現在、Tkinter テキスト ボックス アプリケーションに取り組んでおり、行の両端揃えを変更する方法を探しています。最終的には、特定の行をLEFT ALIGNからRIGHT ALIGNなどに変更できるようにしたいと考えています。今のところ、テキスト ボックス全体の位置合わせを変更する方法を見つける必要がありますが、さらに助けていただければ幸いです。私は Effbot.org を使用して、探求を支援してきました。ScrolledText
ウィジェットのコードは次のとおりです。
コード
def mainTextFUN(self):
self.maintextFrame = Frame (root, width = 50, height = 1,
)
self.maintextFrame.grid(row = 1, column = 1, sticky = N, columnspan = 1,
rowspan = 1)
self.write = ScrolledText(self.maintextFrame,
justify(CENTER),
width = 100, height = 35, relief = SUNKEN,
undo = True, wrap = WORD,
font = ("Times New Roman",12),
)
self.write.pack()
これを実行すると、エラーが発生します。
Traceback (most recent call last):
File "D:\Python Programs\Text Editor\MyTextv5.py", line 132, in <module>
app = Application(root)
File "D:\Python Programs\Text Editor\MyTextv5.py", line 16, in __init__
self.mainTextFUN()
File "D:\Python Programs\Text Editor\MyTextv5.py", line 57, in mainTextFUN
justify(CENTER),
NameError: global name 'justify' is not defined
>>>
justify
引数を引数の後に変更するfont
と、メッセージ ボックスの形式で別のエラーが表示されます。
There's an error in your program:
*** non-keyword arg after keyword arg (MyTextv5.py, line 61)
編集
abarnert の提案に基づいてコードを変更しました。justify = CENTER,
の後に追加しましたself.maintextFrame
。それにもかかわらず、別のエラーが発生しました。
Traceback (most recent call last):
File "D:\Python Programs\Text Editor\MyTextv5.py", line 132, in <module>
app = Application(root)
File "D:\Python Programs\Text Editor\MyTextv5.py", line 16, in __init__
self.mainTextFUN()
File "D:\Python Programs\Text Editor\MyTextv5.py", line 60, in mainTextFUN
font = ("Times New Roman",12),
File "C:\Python27\lib\lib-tk\ScrolledText.py", line 26, in __init__
Text.__init__(self, self.frame, **kw)
File "C:\Python27\lib\lib-tk\Tkinter.py", line 2827, in __init__
Widget.__init__(self, master, 'text', cnf, kw)
File "C:\Python27\lib\lib-tk\Tkinter.py", line 1974, in __init__
(widgetName, self._w) + extra + self._options(cnf))
TclError: unknown option "-justify"