前提・実現したいこと
Atom(エディタ)でPython3.7.4を動かす環境を作りましたが、Tkinterライブラリを使ってcanvasを表示するプログラムを実行しても、canvas(ウィンドウ)が立ち上がりません。Python標準のIDLE(開発環境)では立ち上がることを確認しているので、Atom(エディタ)との組み合わせによるものと推測していますが、解決方法がわかりません。
発生している問題
■手順1
Python3.7.4のデフォルトの開発環境(IDLE)で、Tkinterライブラリを使ったcanvasを表示するプログラム(後述のコード)を実行すると、以下の写真のようにcanvasのウィンドウが表示されます。(エイリアン)
Source
1from tkinter import * 2 3window = Tk() 4window.title('エイリアン') 5c = Canvas(window, height=300, width=400) 6c.pack() 7body = c.create_oval(100, 150, 300, 250, fill='green') 8eye = c.create_oval(170, 70, 230, 130, fill='white') 9eyeball = c.create_oval(190, 90, 210, 110, fill='black') 10mouth = c.create_oval(150, 220, 250, 240, fill='red') 11neck = c.create_line(200, 150, 200, 130) 12hat = c.create_polygon(180, 75, 220, 75, 200, 20, fill='blue') 13 14def mouth_open(): 15 c.itemconfig(mouth, fill='black') 16def mouth_close(): 17 c.itemconfig(mouth, fill='red') 18def blink(): 19 c.itemconfig(eye, fill='green') 20 c.itemconfig(eyeball, state=HIDDEN) 21def unblink(): 22 c.itemconfig(eye, fill='white') 23 c.itemconfig(eyeball, state=NORMAL) 24 25words = c.create_text(200, 280, text='私はエイリアンだ!') 26def steal_hat(): 27 c.itemconfig(hat, state=HIDDEN) 28 c.itemconfig(words, text='ぼうしを返してよ!') 29 30window.attributes('-topmost',1) 31def burp(event): 32 mouth_open() 33 c.itemconfig(words, text='げっぷ!') 34c.bind_all('<Button-1>', burp) 35 36def blink2(event): 37 c.itemconfig(eye, fill='green') 38 c.itemconfig(eyeball, state=HIDDEN) 39def unblink2(event): 40 c.itemconfig(eye, fill='white') 41 c.itemconfig(eyeball, state=NORMAL) 42c.bind_all('<KeyPress-a>',blink2) 43c.bind_all('<KeyPress-z>',unblink2) 44 45def eye_control(event): 46 key = event.keysym 47 if key == "Up": 48 c.move(eyeball,0,-1) 49 elif key == "Down": 50 c.move(eyeball,0,1) 51 elif key == "Left": 52 c.move(eyeball,-1,0) 53 elif key == "Right": 54 c.move(eyeball,1,0) 55c.bind_all('<Key>', eye_control)
■手順2
Atom1.4の環境を用意し、後述する「atom-runnter」というパッケージもインストールして、Atom内でPythonが実行できる環境を構築しました。
■手順3
しかし、Atomで同プログラムを実行すると、実行結果を表示するウィンドウはAtomの右下に表示されるものの(print文はないため何も表示されません)、手順1のウィンドウが立ち上がりません。※試しにプログラムにprint("hello")を追加してみたところ、実行結果のウィンドウには正しく表示されましたが、依然としてウィンドウの方は表示されません。
Atom導入パッケージ(関係なさそうなものも含めて列挙)
atom-runner
busy-signal
indent-guide-improved
intentions
japanese-menu
linter
linter-php
linter-ui-default
script
show-ideographic-space
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/10 02:57
2020/02/10 03:10