我想在Python中将StringVar转换为String。在
Aim:在输入字段(tkinter)中输入的字符串必须转换为字符串,然后进行编码以获得其哈希值。在
以下是我的代码:
txt1 = StringVar()
scantxt = ttk.Entry(win, textvariable = txt1).pack()
txt1 = str(txt1.get()).encode()
sha256 = hashlib.sha256(txt1)
estr = sha256.hexdigest()
我得到的结果是空文本的散列。在
我不知道我哪里错了。请协助。在
谢谢你期待的帮助。在
通常,GUI程序位于一个循环中,等待事件响应。你发布的代码片段没有做到这一点。在
这个任务不需要StringVar。您可以给条目小部件一个StringVar,但它不需要它。您可以使用它的
.get
方法直接获取其文本内容。但您确实需要一种方法来告诉您的程序何时应该获取和处理该文本,以及它应该如何处理它。在使用条目小部件有多种方法可以实现这一点:如果需要,可以将条目文本发生的每个更改通知给代码。这里不需要这个,我们可以让Tkinter在用户点击Return键时运行一个函数。我们可以使用小部件的
.bind
方法来实现这一点。在你会注意到我摆脱了
^{pr2}$.pack
方法(和.grid
&;.place
方法)返回None
,因此上面的语句将None
绑定到名称scantxt
,它不保存对Entry小部件的引用。在相关问题 更多 >
编程相关推荐