首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么你不用在平底鞋里写?

为什么你不用在平底鞋里写?
EN

Stack Overflow用户
提问于 2022-08-26 20:59:23
回答 1查看 69关注 0票数 -2

当我使用Pygame,一个python库时,我必须编写"pygame.init“来启动所有模块。然而,当我使用Tkinter,另一个库时,我不必使用"tkinter.init“。为什么?谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-26 21:26:56

当我使用Pygame,一个python库时,我必须编写"pygame.init()“来启动所有模块。但是,当我使用另一个库Tkinter时,我不必使用"tkinter.init()“。为什么?

每个库都有自己的使用方法,如果库提供了与用户交互的方法,则提供自己的事件处理机制。

然后在文档中解释如何使用库,或者从每个库方法附带的文档中推断,并按需打印。

因此,对于为什么你必须用这个库而不是其他方式使用这个库的问题,正确的答案就像可能令人惊讶的那样简单:

,因为库需要这样使用它,而不是以其他方式使用.

顺便问一下:

Tkinter中的

  • (较新版本的模块命名为tkinter)当使用root = tkinter.Tk()创建根窗口时,初始化是在类Tk的初始化方法__init__内静默完成的,除了这个初始化
  • 之外,还需要使用tkinter窗口。

在这里,打开窗口所需的最小tkinter代码(详见注释/解释):

代码语言:javascript
复制
import tkinter
root = tkinter.Tk()
tkinter.mainloop()
# ^-- requires root = tkinter.Tk() else:  
# ^-- RuntimeError: Too early to run the main loop: no default root window

游戏中的

  • 没有必要调用pygame.init()来打开游戏窗口。

在这里,打开窗口所需的最低限度的游戏代码,保持打开并做出响应(详见注释/解释):

代码语言:javascript
复制
import pygame
# pygame.init()
# ^-- is NOT required
screen = pygame.display.set_mode((640,480)) 
# ^-- REQUIRED else: pygame.error: video system not initialized
# ^-- creates the pygame window which stays opened (but not responding)
# ^--    as long as the Python script runs

# v--REQUIRED to keep the pygame window opened and responding: 
running = True
while running:
    # Check for exit: 
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73506415

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档