exception in tkinter callback(Tkinter Python3 中,我明明给他定义了str,可他还说Nonetype,这是怎么回事)

本文目录
- Tkinter Python3 中,我明明给他定义了str,可他还说Nonetype,这是怎么回事
- 解决Exception in Tkinter callback
- python 运行 Image.open 提示type object ’Image’ has no attribute ’open’
- autodock vina 运行 python 出错 该怎么改
- python大神请进!!!(急)
- 如何让tkinter自动关闭窗口后显示另一个窗口
Tkinter Python3 中,我明明给他定义了str,可他还说Nonetype,这是怎么回事
你好,那个Nonetyp是说你输入框当前的信息是Nonetyp。你原来的代码是在你创建那个输入框的时候直接读入输入的信息,所以你tk.Entry(chinesewin).pack(side=’right’).get()就会直接得到一个None的输入。下面是我帮你修改好的代码,可以跑的。你试试好了。
import tkinter as tk
import tkinter as Tk
import sys
from tkinter import *
from tkinter import ttk
from functools import partial
root=tk.Tk()
root.title("翻译器 1.0Beta 汉化版")
root.geometry(’300x300’)
root.resizable(0,0)
chinese_ORPMLZ={"你好":"eic","再见":"cie","对不起":"ice","没关系":"eci","我":"M","你":"A","她":"A_","它":"A-_","他":"A-","蟒蛇":"PN","命令":"CO","代码":"VW","文件":"F","视图":"WV","复习":"RW","退出":"Qz","中文":"CN","英语":"CE","数学":"MH","爪哇":"JV","我的世界":"MCT","系统":"SM","写":"WVW"}
def chinesemode():
chinesewin=tk.Tk()
chinesewin.title("中文模式")
chinesewin.geometry(’500x300’)
chinesewin.resizable(0,0)
chineselab=tk.Label(chinesewin,text=" 请输入中文:").pack(side=’left’)
chineseent=tk.Entry(chinesewin)
chinesebut=ttk.Button(chinesewin,text="翻译",command=partial(transfer, chineseent)).pack(side=’bottom’)
chineseent.pack(side=’right’)
chinesewin.mainloop()
#def on_button(self):
# print(self.entry.get())
def transfer(chineseent):
inputStr = chineseent.get()
if inputStr in chinese_ORPMLZ:
win=tk.Tk()
win.title("翻译结果")
win.geometry(’300x300’)
win.resizable(0,0)
print (chinese_ORPMLZ)
translab=tk.Label(win,text=chinese_ORPMLZ).pack()
else:
Error=tk.Tk()
Error.title("Error1")
Error.geometry(’300x300’)
Error.resizable(0,0)
Errorbut1=tk.Button(Error,text=’close’,command=lambda:Error.distroy()).pack()
chinesech=tk.Button(root,text="中文",command=chinesemode).pack()
root.mainloop()
#print(type(chineseent.get()))
解决Exception in Tkinter callback
运行出现
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python37\lib\tkinter\__init__.py", line 1705, in __call__
return self.func(*args)
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python37\lib\site-packages\matplotlib\backends\_backend_tk.py", line 267, in resize
self.draw()
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python37\lib\site-packages\matplotlib\backends\backend_tkagg.py", line 9, in draw
super(FigureCanvasTkAgg, self).draw()
...
FileNotFoundError: No such file or directory: ’../SIMLI.TTF’
源文件出错处:
font = mpl.font_manager.FontProperties(fname=’../SIMLI.TTF’, size=14)
字体文件名要从属性找,地址在上一层文件夹!不是本级
python 运行 Image.open 提示type object ’Image’ has no attribute ’open’
原因:因为第一行的from PIL import Image与第二行tkinter import *冲突,tkinter中也含有Image类,所以你使用的是tkinter.Image。
解决办法:把Image.open替换为PIL.Image.open,并将第一行的Image删除,因为与最后的import PIL.Image重复了。
Python在执行时,首先会将.py文件中的源代码编译成Python的byte code(字节码),然后再由Python Virtual Machine(Python虚拟机)来执行这些编译好的byte code。这种机制的基本思想跟Java,.NET是一致的。
然而,Python Virtual Machine与Java或.NET的Virtual Machine不同的是,Python的Virtual Machine是一种更高级的Virtual Machine。
这里的高级并不是通常意义上的高级,不是说Python的Virtual Machine比Java或.NET的功能更强大,而是说和Java 或.NET相比,Python的Virtual Machine距离真实机器的距离更远。
扩展资料:
Python的优点
1、简单:Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样。它使你能够专注于解决问题而不是去搞明白语言本身。
2、易学:Python极其容易上手,因为Python有极其简单的说明文档 。
3、速度快:Python 的底层是用 C 语言写的,很多标准库和第三方库也都是用 C 写的,运行速度非常快。
4、免费、开源:Python是FLOSS(自由/开放源码软件)之一。使用者可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。FLOSS是基于一个团体分享知识的概念。
5、高层语言:用Python语言编写程序的时候无需考虑诸如如何管理你的程序使用的内存一类的底层细节。
6、解释性:一个用编译性语言比如C或C++写的程序可以从源文件(即C或C++语言)转换到一个你的计算机使用的语言(二进制代码,即0和1)。这个过程通过编译器和不同的标记、选项完成。
autodock vina 运行 python 出错 该怎么改
我认为可能是路径或者是命名的问题,需要注意的是文件的命名需要符合Python和dos的语法
路径最好还是在根目录下,不要在program下,否则会报错。文件名最好也不要出现各种样子的括号,破折号等
python大神请进!!!(急)
简单来说int不是一个可用的对象
1410行int对象不能被调用(不是包含方法的对象)
如何让tkinter自动关闭窗口后显示另一个窗口
我是Python新手,必须编写一个简单的GUI程序,为了简单起见,我选择在tkinter中这样做。
我想要的GUI应该非常类似于在Windows上安装程序时经常遇到的对话框(您想要安装的位置,您想要的模块等)。基本上当它在python3.3中运行时,我想要一个窗口出现,其中一些选项占据了大部分窗口,然后是','返回'和'取消'底部的按钮;点击“下一步”'按钮,当前窗口关闭,打开一个看起来相同的新窗口,除了它有不同的选项(或者它可能是同一个窗口,但它的内容已被破坏,我不确定哪个更好) 。我想要的粗略布局显示在this image
yU8wW.png中
我已经四处寻找代码,这些代码与此类似,但未找到任何代码。我看过this answer,但它并不是我想要的。我使用this tutorial来了解我对tkinter的了解,但我无法在其中找到答案。
这是我对我想要做的简化版本的极其糟糕的尝试:当我运行代码时,它会创建一个带有两个按钮的窗口。 ' Quit'按钮工作正常;但是,当我点击“下一步”时按钮关闭窗口并根据需要打开一个新窗口,但它也会打开另一个窗口。
from tkinter import *
from tkinter import ttk
def win1():
mainframe = ttk.Frame(root, padding = ’3 3 12 12’)
mainframe.grid(column = 0, row = 0, sticky = (N, W, E, S))
mainframe.columnconfigure(0, weight = 1)
mainframe.rowconfigure(0, weight = 1)
ttk.Button(mainframe, text = ’Next’, command = win2).grid(
column = 1, row = 1, sticky = W)
ttk.Button(mainframe, text = ’Quit’, command = quit).grid(
column = 1, row = 2, sticky = W)
root.mainloop()
def quit():
root.destroy()
def win2():
quit()
new = Toplevel()
new.title(’Window 2’)
new = ttk.Frame(root, padding = ’3 3 12 12’)
new.grid(column = 0, row = 0, sticky = (N, W, E, S))
new.columnconfigure(0, weight = 1)
new.rowconfigure(0, weight = 1)
ttk.Button(mainframe, text = ’Next’, command = win2).grid(
column = 1, row = 1, sticky = W)
root = Tk()
win1()
这会出现以下错误消息(我不明白):
Exception in Tkinter callback
Traceback (most recent call last):
File "/usr/lib/python3.3/tkinter/__init__.py", line 1478, in __call__
return self.func(*args)
File "", line 23, in win2
File "/usr/lib/python3.3/tkinter/ttk.py", line 733, in __init__
Widget.__init__(self, master, "ttk::frame", kw)
File "/usr/lib/python3.3/tkinter/ttk.py", line 553, in __init__
tkinter.Widget.__init__(self, master, widgetname, kw=kw)
File "/usr/lib/python3.3/tkinter/__init__.py", line 2078, in __init__
(widgetName, self._w) + extra + self._options(cnf))
_tkinter.TclError: this isn’t a Tk applicationNULL main window
除了它实际上没有做我想要的事实之外,我觉得我正在以完全错误的方式(在一个函数中定义窗口等),并且会遇到很多我想让它变得更复杂时遇到麻烦。有没有人能够以更好的方式重写我的代码,并以某种方式帮助我构建更复杂的程序

本文相关文章:
浏览器调用webservice接口(如何通过浏览器发送webservice请求)
2026年9月21日 21:20
sqlserver2000sp4补丁(sqlserver 2000 sp4补丁安装失败)
2026年9月20日 20:50
jsondecodeerror翻译中文(猫和老鼠出现这个json decode error怎么办)
2026年9月10日 05:50
cluster bomb unit(cluster bomb 是什么意思)
2026年9月3日 17:20
js怎么用ajax(js如何通过Ajax的方式提交表单(注意不是以jquery而是以js原生代码的方式提交))
2026年8月26日 15:20
js代码转换jquery工具(js jquery是怎么转换的)
2026年8月26日 05:50
scripture psalms(“christmas worship service” 这个是什么意思,求解释和简单介绍)
2026年8月26日 01:40
更多文章:
false是精确匹配吗(vlookup 函数中的精确匹配和大致匹配的区别)
2026年10月12日 00:50
sumproduct多条件排名不重复(Excel 求助,如何多条件统计不重复个数)
2026年10月11日 23:10
gcc编译器参数(深度linux的arm-linux-gnueabihf-gcc编译参数如何配)
2026年10月11日 19:30
asp是什么检查项目(医院血液检验项目RPR、TPPA、HIV-Ab各是什么意思)
2026年10月11日 10:20
汇编输出指令(用汇编语言循环指令在屏幕中间输出红底白字的“hello I am 720“)
2026年10月11日 07:20
本地搭建springboot项目(使用eclipse构建springboot项目)
2026年10月11日 06:20



