首页 > 解决方案 > 如何让 Tkinter 和 pygame 一起工作?

问题描述

我的游戏背景是一张图片,唯一的问题是出现了两个窗口,我只想要一个。出现两个窗口,一个很小但有图像,另一个很大但没有任何内容。我该怎么做才能让两者一起工作?代码:

import pygame
from pygame.locals import *
from Tkinter import *
import Tkinter as Tk

black = ("#000000")
white = ("#FFFFFF")
green = ("#00CD00")
yellow = ("#FFFF00")

pygame.init()
display = pygame.display.set_mode((1024,720))
pygame.display.set_caption("Hello Universe")

root = Tk.Tk()
background_image=Tk.PhotoImage(file="/home/jar/python/background_image.gif")
background_label = Tk.Label(root, image=background_image)
background_label.place(x=0, y=0, relwidth=1, relheight=1)
root.mainloop()

quit = False
while not quit:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            quit = True

标签: pythonpython-2.7tkinterpygame

解决方案


原来你不需要 Tkinter 你可以这样做:

import pygame
from pygame.locals import *

pygame.init()
white = (255,255,255)
size = [1024, 720]
screen = pygame.display.set_mode(size)
pygame.display.set_caption("Hello Universe")
done = False
clock = pygame.time.Clock()
background_image = pygame.image.load("background_image.gif").convert()

while done == False:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            done = True


        screen.blit(background_image, [0,0])
        pygame.display.flip()
        clock.tick(60)

推荐阅读