我想在python中使用pygame做一個簡單的繪圖程序。 我希望用戶使用tkColorChooser.askcolor選擇一種顏色。 用戶按下b時彈出對話框。當用戶選擇一種顏色時它工作正常。但是,如果用戶在askcolor窗口中按下Cancel按鈕,程序將繼續運行,但askcolor窗口不會關閉。 它保持打開在另一個窗口頂部,並按下取消按鈕。tkColorChooser.askcolor窗口不關閉,當用戶按下取消
我在做什麼錯?
我發佈了一個簡化的代碼,其中出現問題。 我在Linux下運行它Ubuntu 11.10,Python 2.7.2+,python-pygame 1.9.1release-0ubuntu4
謝謝!
#! /usr/bin/env python
import pygame
from Tkinter import *
import tkColorChooser
def main():
# Colors
black = (0,0,0)
yellow = (252, 229, 3)
bgcolor = black
picturecolor = yellow
running = 1
# Initiate the screen
screen = pygame.display.set_mode((0, 0), pygame.RESIZABLE)
screen.fill(bgcolor)
pygame.draw.circle(screen, picturecolor, (200,200), 10, 0)
pygame.display.flip()
# Initiates the Tk
root = Tk()
root.withdraw()
while running:
event = pygame.event.poll()
if event.type == pygame.KEYUP:
if event.key == pygame.K_b:
ctuple,cstr = tkColorChooser.askcolor(initialcolor=bgcolor, title = 'Choose picture color')
if ctuple != None:
picturecolor = ctuple
screen.fill(bgcolor)
pygame.draw.circle(screen, picturecolor, (200,200), 10, 0)
pygame.display.flip()
if event.key == pygame.K_x:
running = 0
if event.type == pygame.QUIT:
running = 0
if __name__=="__main__":
main()
tkColorChooser(py3k colochooser)在win7中使用py3.2完美工作。取消按預期使用發佈的代碼 – joaquin 2012-02-12 09:15:22