【问题标题】:How to display items in a list in a label using tkinter如何使用 tkinter 在标签的列表中显示项目
【发布时间】:2014-02-19 16:30:49
【问题描述】:

我目前有这个代码:

for element in tagall:  
    for item in element: 
       items = item
        print(item)  

但我似乎无法将其合并到更改 tkinter 中标签上的文本属性中。当我这样做时:

label.config(text=(item))  

标签只显示最后一项,而不是全部。
提前致谢

附:我忘记提到我正在使用 sql server 并且 'tagall' 是一个变量,其中一列数据已设置为

【问题讨论】:

  • 怎么样:label.config(text='\n'.join(element))
  • 不,那仍然只显示最后一项

标签: python sql database tkinter


【解决方案1】:

试试这个:

label.config(test=repr(tagall))

这应该会让你走上正确的道路

【讨论】:

  • 这不会将字段分开到他们自己的行 - 它只是显示它们
  • 我没有尝试格式化响应——我试图帮助您解决您的错误“...标签仅显示最后一项,而不是全部...”。我假设一旦你看到 repr() 的输出,你就会知道如何正确地格式化输出。
  • newScreenLabel.config(text=("\n".join(str.split(repr(tagall))))) 在新行中显示每个值
【解决方案2】:

想想label.config(text=(item)) 做了什么。当您调用该函数时,它会用item 中存储的新文本覆盖标签的现有文本。因此,您只看到最后一项也就不足为奇了。

现在,这取决于您希望项目列表显示的样子。你想让他们每个人都在自己的线上吗?用空格隔开?这将确定您用于加入项目列表的字符串。

如果您希望它们用新行分隔,请将循环替换为

label.config(text=("\n".join(list_of_items)))

那你应该可以走了。

【讨论】:

  • TypeError:序列项 0:预期的 str 实例,找到 pyodbc.Row
  • 抱歉,去掉了多余的括号,label.config(text=("\n".join(list_of_items)))
  • 括号去哪儿了?编辑:在项目列表周围添加了括号,但这只会将最后一个字段分隔为各个行的各个字母
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-12
  • 2016-01-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多