<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:times new roman,new york,times,serif;font-size:12pt"><div>Thanks<br>I made the changes and the error was still there<br><br>"print self.favorite.get()" prints the name of the selected database on the console<br></div><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;"><br><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;"><font face="Tahoma" size="2"><hr size="1"><b><span style="font-weight: bold;">From:</span></b> James Reynolds &lt;eire1130@gmail.com&gt;<br><b><span style="font-weight: bold;">To:</span></b> adedoyin adegoke &lt;doyennehoney@yahoo.com&gt;<br><b><span style="font-weight: bold;">Cc:</span></b> tutor@python.org<br><b><span style="font-weight: bold;">Sent:</span></b> Fri, April 2, 2010 2:26:36 PM<br><b><span style="font-weight: bold;">Subject:</span></b> Re: [Tutor] Display in a
 text field using tkinter<br></font><br>
<br><br><div class="gmail_quote">On Fri, Apr 2, 2010 at 2:25 AM, adedoyin adegoke <span dir="ltr">&lt;<a rel="nofollow" ymailto="mailto:doyennehoney@yahoo.com" target="_blank" href="mailto:doyennehoney@yahoo.com">doyennehoney@yahoo.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div>from Tkinter import *</div><div>import MySQLdb</div><div><br></div><div>class Snoop(Frame):</div><div>&nbsp;&nbsp; &nbsp;def __init__(self, master):</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;Frame.__init__(self, master)</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;self.grid()</div>
<div>
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;self.create_widgets()</div><div><br></div><div>&nbsp;&nbsp; &nbsp;def create_widgets(self):</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;Label(self, text = "Database Name:").grid(row = 0, column = 0, sticky = W)</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;self.txt_box = Entry(self, text = "hool").grid(row = 0, column = 1, sticky = W)</div>

<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;Button(self, text = "Submit", command = self.connect_db).grid(row = 1, column = 1, sticky = W)</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;Label(self, text = "Tables:").grid(row = 2, column = 0, sticky = W)</div><div>

&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;Label(self, text = "Information:").grid(row = 2, column = 1, sticky = W)</div><div>&nbsp;&nbsp; &nbsp; &nbsp; # self.txt = Text(self, width = 40, height = 5, wrap = WORD).grid(row = 3, column = 1, sticky = W)</div>

<div>&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;</div><div>&nbsp;&nbsp; &nbsp;def connect_db(self):</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;db= MySQLdb.connect(host="localhost", user="root" , passwd="")</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;cursor = db.cursor()</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;cursor.execute("show databases")</div>

<div><br></div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;self.favorite = StringVar()</div><div><br></div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;result = cursor.fetchall()</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;i = 4</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;for record in result:</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Radiobutton(self,</div>

<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; text = record,</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; variable = self.favorite,</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; value = record,</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; command = self.update_text</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ).grid(row = i, column = 0, sticky = W)</div>

<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;i+=1</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;#print database</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;#self.txt.delete(0.0, END)</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;#self.get_db(database)</div><div>&nbsp;&nbsp; &nbsp;def update_text(self):</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;print self.favorite.get()</div>

<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;trt = self.favorite.get()</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;self.txt_box.insert(END,trt)</div><div><br></div><div>&nbsp;&nbsp;&nbsp;</div><div><br></div><div>#db.close</div><div>root = Tk()</div><div>root.title("Snoop")</div><div>

start = Snoop(root)</div><div><br></div><div>root.mainloop()</div><div><br></div><div><br></div><div><br></div><div>The above code will snoop and fetch all d available databases using tkinter. When I select one of these databases, the name should be inserted in a text field instead it throws the following error ;</div>

<div><br></div><div>Exception in Tkinter callback</div><div>Traceback (most recent call last):</div><div>&nbsp;&nbsp;File "/usr/lib/python2.6/lib-tk/Tkinter.py", line 1413, in __call__</div><div>&nbsp;&nbsp; &nbsp;return self.func(*args)</div>

<div>&nbsp;&nbsp;File "/home/NetBeansProjects/python/src/Xsnoop.py", line 45, in update_text</div><div>&nbsp;&nbsp; &nbsp;self.txt_box.insert(END,trt)</div><div>AttributeError: 'NoneType' object has no attribute 'insert'</div>

<div>&nbsp;&nbsp;&nbsp;</div><div><br></div><div>How can i correct this?</div><div><br></div>
<br>_______________________________________________<br>
Tutor maillist &nbsp;- &nbsp;<a rel="nofollow" ymailto="mailto:Tutor@python.org" target="_blank" href="mailto:Tutor@python.org">Tutor@python.org</a><br>
To unsubscribe or change subscription options:<br><span>
<a target="_blank" href="http://mail.python.org/mailman/listinfo/tutor">http://mail.python.org/mailman/listinfo/tutor</a></span><br>
<br></blockquote></div><div><br></div>Is this line printing anything:<div><br></div><div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0px 0px 0px 0.8ex; padding-left: 1ex;">
"print self.favorite.get()"?</blockquote><div><br></div><div><br></div><div>I would try something like this:</div><div><br></div><div>Move this to the&nbsp;"__init__":</div><div><br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0px 0px 0px 0.8ex; padding-left: 1ex;">
self.favorite = StringVar()</blockquote><div><br></div><div>Change this:</div><div><br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0px 0px 0px 0.8ex; padding-left: 1ex;">
self.txt_box = Entry(self, text = "hool").grid(row = 0, column = 1, sticky = W)</blockquote><div><br></div><div>to this:</div><div><br></div><div><br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0px 0px 0px 0.8ex; padding-left: 1ex;">
self.txt_box = Entry(self, text = <a rel="nofollow" target="_blank" href="http://self.name">self.name</a>).grid(row = 0, column = 1, sticky = W)</blockquote><div><br></div><div>in the "__init__" add two lines:</div><div><br></div><div>&nbsp;</div>
<div><a rel="nofollow" target="_blank" href="http://self.name">self.name</a> = StringVar()</div><div><a target="_blank" href="http://self.name.se">self.name</a>.set("hool")</div><div><br></div><div>In update_text change this:</div><div><br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0px 0px 0px 0.8ex; padding-left: 1ex;">
self.txt_box.insert(END,trt)</blockquote><div><span class="Apple-style-span" style="font-family: arial,sans-serif; font-size: 13px; border-collapse: collapse;"><br></span></div><div><span class="Apple-style-span" style="font-family: arial,sans-serif; font-size: 13px; border-collapse: collapse;">to this:</span></div>
<div><span class="Apple-style-span" style="font-family: arial,sans-serif; font-size: 13px; border-collapse: collapse;"><br></span></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0px 0px 0px 0.8ex; padding-left: 1ex;">
self.name.set(trt)</blockquote><div><span class="Apple-style-span" style="font-family: arial,sans-serif; font-size: 13px; border-collapse: collapse;"><br></span></div><div><br></div><div><br></div><div><br></div><div><br>
</div><div><br></div></div>
</div></div>
</div><br>

      </body></html>