当我使用Pygame,一个python库时,我必须编写"pygame.init“来启动所有模块。然而,当我使用Tkinter,另一个库时,我不必使用"tkinter.init“。为什么?谢谢!
发布于 2022-08-26 21:26:56
当我使用Pygame,一个python库时,我必须编写"pygame.init()“来启动所有模块。但是,当我使用另一个库Tkinter时,我不必使用"tkinter.init()“。为什么?
每个库都有自己的使用方法,如果库提供了与用户交互的方法,则提供自己的事件处理机制。
然后在文档中解释如何使用库,或者从每个库方法附带的文档中推断,并按需打印。
因此,对于为什么你必须用这个库而不是其他方式使用这个库的问题,正确的答案就像可能令人惊讶的那样简单:
,因为库需要这样使用它,而不是以其他方式使用.
顺便问一下:
Tkinter中的
root = tkinter.Tk()创建根窗口时,初始化是在类Tk的初始化方法__init__内静默完成的,除了这个初始化在这里,打开窗口所需的最小tkinter代码(详见注释/解释):
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()来打开游戏窗口。在这里,打开窗口所需的最低限度的游戏代码,保持打开并做出响应(详见注释/解释):
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 = Falsehttps://stackoverflow.com/questions/73506415
复制相似问题