当前位置: 首页 > 面试题库 >

Python Tkinter 8.5导入消息框

欧阳正谊
2023-03-14
问题内容

下面的代码在IDLE内运行良好,否则会出现“ NameError:全局名称’messagebox’未定义”的情况。但是,如果我明确声明from tkinter import messagebox,则无论从哪里运行都很好。

from tkinter import *
from tkinter import ttk

root = Tk()
mainFrame = ttk.Frame(root)
messagebox.showinfo("My title", "My message", icon="warning", parent=mainFrame)

为什么IDLE不需要显式import语句,而在其他地方则需要它?


问题答案:

消息框是tkinter的单独子模块,因此只需从tkinter进行完整导入即可:

from tkinter import *

不导入消息框

必须将其显式导入,如下所示:

from tkinter import messagebox

以与必须显式导入ttk相同的方式

它在空闲状态下工作的原因是因为空闲状态出于自身目的导入了消息框,并且由于空闲状态的工作方式,因此在空闲状态下可以访问其导入



 类似资料:
  • 我正在编写一个应用程序,它应该将推送通知从服务器发送到android和iOS设备。为此,我尝试使用FCM。iOS应用程序使用了APNS,因此我可以在服务器端获取APNS订阅令牌。然后我尝试批量导入这些令牌,我得到一些长度为174个符号的注册令牌,而不是Firebase中通常使用的152个。当我使用IID方法得到https://iid.googleapis.com/iid/info/{token},

  • 我有一台电脑目前托管着动物园管理员和kafka服务器。 在同一台机器中,我还有一个脚本,用于消耗发送到本地kafka服务器的消息。如果我直接运行它,消费者脚本将按预期工作。 我想从docker容器中运行消费者脚本。 我已经成功地构建并运行了一个运行消费者脚本的容器,但是它永远在等待kafka消息。 如何将kafka消息重定向到容器中?这样做的唯一方法是直接在容器中托管zookeeper和kafka

  • 我见过很多不和谐的嵌入代码,比如: (这是一个老问题,我是新来的,所以…) 所以,我不明白的是什么是触发因素?就像你应该打字一样。乒乓球对吗?那么,我应该键入什么来获取我的bot类型呢?

  • 7.3 导航相关消息 在导航功能包集中包含了诸多节点,毋庸置疑的,不同节点之间的通信使用到了消息中间件(数据载体),在上一节的实现中,这些消息已经在rviz中做了可视化处理,比如:地图、雷达、摄像头、里程计、路径规划...的相关消息在rviz中提供了相关组件,本节主要介绍这些消息的具体格式。

  • 尽管有些系统管理员喜欢将他们自己与其它使用成堆的老旧打印机的办公室相隔绝, 但是我们还是需要随时与其他部门交换信息。 例如,你可能需要插入数据到你的 Puppet 配置清单,这些数据是从外部数据源派生出来的。 generate 函数在这方面相当有用。 准备工作 在 Puppetmaster 上使用如下代码创建脚本 /usr/local/bin/latest-puppet.rb: #!/usr/bi

  • 在企业应用程序中,我试图使用netBeans 8.1将MessageDriven beans注入Web应用程序(到REST服务)。我在IDE中没有得到任何警告,但是,在部署时,我得到以下错误: 严重:加载应用程序时出现异常:CDI部署失败:Weld-001408:未满足类型StatisticsBean的依赖关系,其限定符@Default在注入点[BackedAnnotatedField]@Inje