python中界面编程tkinter的初次使用可能会遇到的问题

一般对于初学Python的人来说,在反反复复跟着实例程序和书本练习了一段时间的终端显示程序后,都会想到要整点带界面的程序,让我们的程序也能可视化。那么可能你能想到的接触到的,或者书本教程推荐的也就是tkinter了。据说,使用起来容易,很容易上手。但真的就那么顺利吗?尤其对于新手!

1、can’t find ‘main’ module in ‘’
遇到这个问题说明你太心急了,说不定是拷贝了一段代码就开始运行了。
原因:没有将文件保存为py的后缀名文件,编译器还不能识别这个文件

2、ModuleNotFoundError: No module named ‘Tkinter’
这是我们遇到的第一个问题,可能你会觉得你的python中没有安装tkinter,然后就在网上搜来搜去,很多过时的教程会告诉你,需要先安装tkinter。如果安装,你就会得到这样的郁闷提示!!
在这里插入图片描述
事实:Python3.0后就开始自带tkinter了!!!!build-in了,不需要安装!(参考这里
原因:tkinter要小写
修改成小写了,那么一切都那么美好
代码

import tkinter
top = tkinter.Tk()
top.title("My first Tkinter program")
# 进入消息循环
top.mainloop()

效果
在这里插入图片描述
3、NameError: name ‘loadfiledialog’ is not defined
你遇到这个问题,说明你可能真的是拷贝了别人的一段代码,而且拷贝得不完全。错误的以为有这条from tkinter import *即可。
原因:没有导入tkinter库
你的代码大概如下:

from tkinter import *
root=tkinter.Tk()
root.mainloop() 

加入一条导入代码即可

import tkinter
from tkinter import *

root=tkinter.Tk()
root.mainloop() 

4、AttributeError: module ‘tkinter’ has no attribute ‘TK’
傻了吧,居然说tkinter没有TK的属性,不可能啊。
原因:Tk不是两个字母都是大写,将K一定要改成小写!!!

5、ModuleNotFoundError: No module named ‘FileDialog’\NameError: name ‘LoadFileDialog’ is not defined
难道真的没有这个方法吗!!也就是说,你采用了别人老早以前的代码,仍然是大小写惹的错!
原因:filedialog必须小写
解决方法:filedialog.LoadFileDialog()这样写就不会错,别忘记了里面要给参数哦!
还有你可以用新版本的函数open()如果只是想获取文件名可以用filedialog.askopenfilename()
可以参看:https://coderslegacy.com/python/file-handling-with-python/
其实,我们打开Python的安装目录的lib就可以发现对话框和文件的操作方式
在这里插入图片描述

import tkinter
from tkinter import filedialog 
import tkinter.messagebox
root =tkinter.Tk()
fd=filedialog.LoadFileDialog(root)
root.mainloop() 

或者直接使用from tkinter.filedialog import LoadFileDialog一步将LoadFileDialog引入

import tkinter
from tkinter import filedialog 
import tkinter.messagebox
from  tkinter.filedialog import LoadFileDialog
root =tkinter.Tk()
fd=LoadFileDialog(root)
root.mainloop() 

6、NameError: name ‘Button’ is not defined\NameError: name ‘Label’ is not defined
类似这种控件的提示,是不是也被你遇到了啊
原因:Python不认识这些控件是哪里来的,我们必须指明tkinter.button
代码演示

import tkinter

top = tkinter.Tk()
top.title("My first Tkinter program")
label1=tkinter.Label(top,text='Hello tkinter !')
label1.pack()
# 进入消息循环
top.mainloop()

效果:
在这里插入图片描述

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

河西石头

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值