Question
- How can I change the justification of specific lines in the
ScrolledText
widget in Tkinter?
- What was the reason for my original errors?
Background
I am currently working on a Tkinter Text box application, and am looking for ways to change the justification of a line. Ultimately, I want to be able to change specific lines from LEFT ALIGN to RIGHT ALIGN to etc. For now, I simply need to find out how to change the justification of the entire text box, though further help will be greatly appreciated. I have been using Effbot.org to help me in my quest. Here is my code for the ScrolledText
widget:
Code
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()
When I run this, I get an error.
Traceback (most recent call last):
File "D:Python ProgramsText EditorMyTextv5.py", line 132, in <module>
app = Application(root)
File "D:Python ProgramsText EditorMyTextv5.py", line 16, in __init__
self.mainTextFUN()
File "D:Python ProgramsText EditorMyTextv5.py", line 57, in mainTextFUN
justify(CENTER),
NameError: global name 'justify' is not defined
>>>
If I change the justify
argument to after the font
argument, I get a different error in the form of a messagebox.
There's an error in your program:
*** non-keyword arg after keyword arg (MyTextv5.py, line 61)
EDIT
I changed the code based on a suggestion by abarnert. I added justify = CENTER,
after self.maintextFrame
. Despite this, I simply got another error.
Traceback (most recent call last):
File "D:Python ProgramsText EditorMyTextv5.py", line 132, in <module>
app = Application(root)
File "D:Python ProgramsText EditorMyTextv5.py", line 16, in __init__
self.mainTextFUN()
File "D:Python ProgramsText EditorMyTextv5.py", line 60, in mainTextFUN
font = ("Times New Roman",12),
File "C:Python27liblib-tkScrolledText.py", line 26, in __init__
Text.__init__(self, self.frame, **kw)
File "C:Python27liblib-tkTkinter.py", line 2827, in __init__
Widget.__init__(self, master, 'text', cnf, kw)
File "C:Python27liblib-tkTkinter.py", line 1974, in __init__
(widgetName, self._w) + extra + self._options(cnf))
TclError: unknown option "-justify"
See Question&Answers more detail:
os