【问题标题】:How do I change this code to work in GUI tkinter?如何更改此代码以在 GUI tkinter 中工作?
【发布时间】:2019-12-06 17:46:59
【问题描述】:

基本上,用户将输入一个短语,而输出将是经过审查的短语。我原来的代码是这样的:

for c in phrase:
if c!=' ':
    print('-', end = '')
else:
    print(' ', end = '')

代码为每个字母打印“-”,但确保它是空格时不打印。我似乎无法让它在 GUI 中工作。我也已经编写了一个代码来询问用户该短语是什么:

def phrase():
    phrase=simpledialog.askstring('Word/Phrase','Enter word to be guessed')
btnw=Button(window,text='Enter phrase',command=phrase)

我是在正确的方向还是有其他方法可以做到这一点?对不起,如果我没有解释清楚,我是一个新手程序员。谢谢!

TDLR;该代码可以在 IDE 中运行并产生正确的输出,但我不知道如何在 GUI 本身上显示输出

【问题讨论】:

  • 是缓冲区的原因吗?在 print 函数中尝试 flush = True。
  • 对不起是什么意思? :(
  • print('yourstring', end = '', flush = True)。这将清除输出缓冲区。
  • 哦,代码在 IDE 中运行良好,它会打印出审查后的短语,但我不知道如何让它在 GUI 本身上打印出来
  • 在 GUI 上打印?它可能正在设置文本,哪些方法已经存在。

标签: python user-interface tkinter


【解决方案1】:

定义一个标签来保存结果:

censored = Label(window, text='')

然后在输入短语后更新censored

censored['text'] = ''.join(' ' if x == ' ' else '-' for x in phrase)

【讨论】:

    猜你喜欢
    • 2010-11-19
    • 1970-01-01
    • 2018-02-22
    • 1970-01-01
    • 2019-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-07
    相关资源
    最近更新 更多