0

よし、学校のプロジェクト

このコードの目的は、450x450 の gif を 20 秒間表示することです。

出力にはgifのセクションのみが表示されます

    photo = tkinter.PhotoImage(file = './Images/img1.gif')
    root.geometry("450x450")
    root.update()
    img = canvas.create_image(225,225, image=photo)
    root.after(20000, lambda: canvas.delete(img))
    root.mainloop()

私が知っていることから、ジオメトリはウィンドウの寸法を定義し、img の座標は中心位置を定義します。

現在の結果は http://i.stack.imgur.com/PSCce.pngです

望ましい結果は http://imgur.com/zeDMacOです

4

2 に答える 2

0

画像を「北西」に固定し、座標を0,0に設定するか、フラスが「キャンバスをフルウィンドウに拡張してください」と言ったようにします。たとえば、次のコードを使用すると、完全な表示を取得できるはずです。

from tkinter import *

root = Tk()
root.geometry('300x300')

photo = PhotoImage(file = './Images/img1.gif')
root.geometry("450x450")
root.update()

canvas = Canvas(root)
canvas.pack(expand=YES, fill=BOTH)

img = canvas.create_image(0,0, anchor="nw", image=photo)
root.after(20000, lambda: canvas.delete(img))


root.mainloop()
于 2014-06-10T02:01:14.700 に答える
0

キャンバスをウィンドウ全体に広げます。

import Tkinter as tkinter

root = tkinter.Tk()

canvas = tkinter.Canvas(root)
canvas.pack(fill=tkinter.BOTH, expand=1) # expand

photo = tkinter.PhotoImage(file = 'img1.gif')
root.geometry("450x450")
root.update()

img = canvas.create_image(225,225, image=photo)
#root.after(20000, lambda: canvas.delete(img))

root.mainloop()

ここに画像の説明を入力

于 2014-06-10T02:02:31.763 に答える