【发布时间】:2017-06-30 22:30:25
【问题描述】:
我有一个要设置随机数的标签。
output.set(randint(1,4))
output = StringVar()
ttk.Label(mainframe, textvariable=output)
我还有一个条目,用户可以在其中指定他们想要生成多少个随机数。
ttk.Entry(mainframe, textvariable=numberdice, width=5)
我想要做的是让这两个值一起工作,并让输出标签打印多行。
我使用 for 循环将其打印到控制台:
for x in range(int(numberdice)):
print(randint(1,4))
但我无法让它在 GUI 中显示相同...
【问题讨论】:
-
@TigerhawkT3 我不确定 dup 目标是否回答了这个问题
-
首先了解
"\n"是一个分隔行的“换行符”字符,print为你将它添加到输出的末尾(除非你指定别的东西:print(5, end="HELLO"))你可以得到整个字符串自己做"\n".join(randint(1,4) for x in range(int(numberdice.get())))然后在那个值上做output.set()。 -
@TadhgMcDonald-Jensen 我尝试了您的建议,但它返回了一个错误
sequence item 0: expected str instance, int found,其中 1) 没有意义,2) 更正为 str 会破坏它。我确实将 numberdice 条目设置为 StringVar,所以我假设它与此有关.. -
我不记得了,但你能在 Tkinter 标签上放多行吗?我不认为这是可能的。我会使用列表视图或其他东西。