我的代码有点问题。我想要做的是输出'result'变量中的所有信息,而不仅仅是最新的条目。我知道'config'方法在for循环中,这就是它输出最新条目的原因,但我似乎无法通过任何其他方式来完成它。
如果有人能提供帮助,我们将不胜感激。
def view_content(self):
connection.connect(user="root", password="")
query = "SELECT * FROM users WHERE User_ID <5"
cursor.execute(query)
results = cursor.fetchall()
for result in results:
self.answer.config(text=result[0:])
谢谢, 臭名昭著
答案 0 :(得分:2)
它只显示最后一行,因为您覆盖了所有其他数据行。假设self.answer
是可以处理显示嵌套列表的文本区域小部件的行,您可以执行以下操作:
results = cursor.fetchall()
results = '\n'.join(['\t'.join(row) for row in results])
self.answer.config(results)
该中间行将嵌套列表转换为每个行的制表符(&#39; \ t&#39;),并在行之间添加换行符(&#39; \ n&#39;)以使其更多& #34;人类可读&#34;根据布莱恩奥克利的建议。
另一种方法是设置某些内容以单独显示每一行,并按照当前的方式加载它们。
results = cursor.fetchall()
result = results.next()
if result: self.row1.config(text=result)
result = results.next()
if result: self.row2.config(text=result)
result = results.next()
if result: self.row3.config(text=result)
result = results.next()
if result: self.row4.config(text=result)
result = results.next()
if result: self.row5.config(text=result)
一种更简单的方法(通常)是设置一个表结构来显示该数据,并为您检索的每一行向显示表添加一行。它已经有一段时间了,但我不记得tkinter有一个表格小部件。