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
using a simple str() does not work by the way
EDIT
With the new code
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( )
It returns
.46329264 .46329296
EDIT 2
def printer(): print(message.get()) print(offset.get())
this fixes the .xxxxxxxx problem