質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Tkinter

Tkinterは、GUIツールキットである“Tk”をPythonから利用できるようにした標準ライブラリである。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

1回答

554閲覧

python ウィンドウを作成しそのウィンドウに画像表示

shunsukex1

総合スコア11

Tkinter

Tkinterは、GUIツールキットである“Tk”をPythonから利用できるようにした標準ライブラリである。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/02/21 14:02

pythonを勉強しているものです。
ウィンドウ作成後メニューバーから画像表示の関数を呼び処理させようと思ったのですが
うまくできません。
ちなみにcallback内のコードはwindowを追加するコードを入れれば
動作はします。

特にエラーとかではないです。

#coding:utf-8 import tkinter from PIL import Image, ImageTk def callback(): # 画像を表示するための準備 img = Image.open('new.jpg') img = ImageTk.PhotoImage(img) # 画像を表示するためのキャンバスの作成(黒で表示) canvas = tkinter.Canvas(bg = "white", width=800, height=500) canvas.place(x=0, y=0) # 左上の座標を指定 # キャンバスに画像を表示する。第一引数と第二引数は、x, yの座標 canvas.create_image(0, 0, image=img, anchor=tkinter.NW) print(img) root = tkinter.Tk() menubar = tkinter.Menu(root) filemenu = tkinter.Menu(menubar, tearoff=0) # ファイルメニュー filemenu.add_command(label="callbakc", command=callback) filemenu.add_separator() filemenu.add_command(label="test", command=callback) filemenu.add_command(label="名前をつけて保存", command=callback) filemenu.add_command(label="閉じる", command=root.destroy) menubar.add_cascade(label="ファイル", menu=filemenu) root.config(menu=menubar) root.mainloop()

環境 win10 64bit python3

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

「うまくできません。」というのが画像が表示されないという意味であれば
def callback():の次の行にglobal imgを追加してください。
関数を抜けるとimgに紐づいた画像が解放されるため表示されません。

投稿2020/02/21 15:15

can110

総合スコア38278

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問