我的代码有一个小问题。我要做的是从"结果"变量中输出所有信息,而不仅仅是最新条目。我了解"配置"方法在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:])
谢谢臭名昭著
它仅显示最后一行,因为您覆盖所有其他数据。假设self.answer
是沿文本区域小部件的线路,可以处理显示嵌套列表的行程,则可以执行以下操作:
results = cursor.fetchall()
results = 'n'.join(['t'.join(row) for row in results])
self.answer.config(results)
中间行将嵌套列表转换为一个标签(' t'(,每行与newlines(' n'(之间的字符串分开,以使每个Bryan Oakley的建议更加"人类可读"。p>另一种选择是设置一些单独显示每一行的东西,并大约加载它们。
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有一个桌子小部件。