“TypeError:无法将‘NoneType’对象隐式转换为str";当 var 应该有一个值 [英] "TypeError: Can't convert 'NoneType' object to str implicitly" when var should have a value

查看:60
本文介绍了“TypeError:无法将‘NoneType’对象隐式转换为str";当 var 应该有一个值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

import sys
from tkinter import *
def print():
    print("Encoded " + message + " with " + offset)

gui = Tk()

gui.title("Caesar Cypher Encoder")

Button(gui, text="Encode", command=encode).grid(row = 2, column = 2)
Label(gui, text = "Message").grid(row = 1, column =0)
Label(gui, text = "Offset").grid(row = 1, column =1)
message = Entry(gui).grid(row=2, column=0)
offset = Scale(gui, from_=0, to=25).grid(row=2, column=1)

mainloop( )

当我在输入框中输入一个输入并在滑块上输入一个值来运行此代码时 - 它出现了错误

When i run this code with an input in both the input box and a value on the slider - it comes up with the error

>>>Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Python34\lib\tkinter\__init__.py", line 1533, in __call__
return self.func(*args)
File "C:/Users/xxxx/Desktop/Code/Functionised/GUI.pyw", line 5, in encode
print("Encoded " + message + " with " + offset)
TypeError: Can't convert 'NoneType' object to str implicitly

顺便说一句,使用简单的 str() 不起作用

using a simple str() does not work by the way

编辑

使用新代码

import sys
from tkinter import *
def printer():
    print(message)
    print(offset)

gui = Tk()

gui.title("Caesar Cypher Encoder")

Button(gui, text="Encode", command=printer).grid(row = 2, column = 2)
Label(gui, text = "Message").grid(row = 1, column =0)
Label(gui, text = "Offset").grid(row = 1, column =1)
message = Entry(gui)
message.grid(row=2, column=0)
offset = Scale(gui, from_=0, to=25)
offset.grid(row=2, column=1)

mainloop( )

它回来了

.46329264
.46329296

编辑 2

def printer():
    print(message.get())
    print(offset.get())

这修复了 .xxxxxxxx 问题

this fixes the .xxxxxxxx problem

推荐答案

回答你的第一次编辑 - .get() 命令应该是最有用的

In answer to your first edit - the .get() command should be the most useful

print(message.get())

而不是

print(message)

这篇关于“TypeError:无法将‘NoneType’对象隐式转换为str";当 var 应该有一个值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆