title: Changing the colour of text automatically inserted into tkinter widget
body: <p>I have a text box widget that has three messages inserted into it. One is a start message, one an ending message, and one a message to alert when a 'unit' has been destroyed. I want the starting and ending messages to be black, but the destoyed messages (see where I have commented in the code) to <strong>be coloured red when inserted into the widget</strong>.</p>
  
  <p>I'm not exactly sure how to go about doing this. I took a look at <a href="https://stackoverflow.com/questions/14786507/how-to-change-the-color-of-certain-words-in-the-tkinter-text-widget">How to change the color of certain words in the tkinter text widget?</a> and this would work, however it only changes the text properties if the <strong>text is selected using the mouse</strong>, whereas I want my text to be <strong>inserted in that colour automatically</strong>. </p>
  
  <p>Any suggestions to point me in the right direction? I relatively new to <code>Tkinter</code>. I'm using <strong>Python 3.6.</strong></p>
  
  <pre><code>import tkinter as tk
  import random
  
  class SimulationWindow():
  
      def __init__(self, master):
  
          #Initialise Simulation Window
          self.master = master
          self.master.geometry('1024x768') #w,h
  
          #Initialise Mainframe
          self.mainframe()
  
      def mainframe(self):
  
          #Initialise Frame
          self.frame = tk.Frame(self.master)
          self.frame.grid_columnconfigure(0, minsize = 100)
          self.frame.grid(row = 1, sticky = 'w')
  
          self.txtb_output = tk.Text(self.frame)
          self.txtb_output.config(width = 115, height = 30, wrap = tk.WORD)
          self.txtb_output.grid(row = 1, column = 0, columnspan = 3, padx = 50)
  
          btn_start = tk.Button(self.frame)
          btn_start.config(text = 'Start', borderwidth = 2, padx = 2, height = 2, width = 20)
          btn_start.bind('&lt;Button-1&gt;', self.start)
          btn_start.grid(row = 2, column = 1, padx = (0,65), pady = 20)
  
  
      def battle(self):
          if len(self.units) == 0:
              self.txtb_output.insert(tk.END, 'The battle has ended.\n')
          else:
              try:
                  destroyed = random.randint(0,4)
                  #I want the text here to be red
                  self.txtb_output.insert(tk.END, 'The unit ' + self.units[destroyed] + ' has been destroyed.\n')
                  self.units.remove(self.units[destroyed])
                  self.frame.after(5000, self.battle)
              except:
                  self.battle()
  
      def start(self, event):
          self.units = ['battle droid', 'battle droid', 'droid tank', 'super battle droid', 'battle droid']
          self.txtb_output.insert(0.0, 'The battle has begun.\n')
          self.battle()
  
  def main():
      root = tk.Tk()
      main_window = SimulationWindow(root)
      root.mainloop()
  
  main()
  </code></pre>