pygameを使用して単純な描画プログラムをPythonで作成しようとしています。 tkColorChooser.askcolorを使用して、ユーザーが色を選択するようにします。 ユーザがbを押すとダイアログがポップアップします。ユーザーが色を選択するとうまく動作します。しかし、ユーザーが[askcolor]ウィンドウで[キャンセル]を押すと、プログラムは実行されますが、[askcolor]ウィンドウは閉じません。 [キャンセル]ボタンを押したまま、他のウィンドウの上に開いたままです。ユーザーがキャンセルを押したときにtkColorChooser.askcolorウィンドウが閉じない
私は間違っていますか?
問題が発生した場所で簡単なコードを投稿しています。 Linux Ubuntu 11.10、Python 2.7.2以降、python-pygame 1.9.1リリース-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)は、py3.2でwin7で完璧に動作しています。投稿コード – joaquin