4

次のPyGTKコードは、PNGファイルをウィンドウに表示します。

gtk.DrawingAreaを使用するなど、PNGファイルを表示するためのより簡単またはより良い方法はありますか?たとえば、ファイルのサイズをどのように変更しますか?

import gtk
import pygtk
pygtk.require('2.0')

class Gui:

    def __init__(self):

        # Create an Image object for a PNG file.
        file_name = "file.png"
        pixbuf = gtk.gdk.pixbuf_new_from_file(file_name)
        pixmap, mask = pixbuf.render_pixmap_and_mask()
        image = gtk.Image()
        image.set_from_pixmap(pixmap, mask)

        # Create a window.
        window = gtk.Window()
        window.set_title("PNG file")
        window.connect("destroy", gtk.main_quit)

        # Show the PNG file in the window.
        window.add(image)
        window.show_all()

if __name__ == "__main__":
    Gui()
    gtk.main()

謝辞:上記のコードは、Web上の他の人のコードを使用して作成しました。

4

1 に答える 1

6

pixbufとpixmapを作成する代わりに、image.set_from_fileを直接呼び出す必要があります。サイズ変更の処理については、gtk.DrawingAreaを直接使用し、configure信号を使用して描画領域の高さと幅を取得し、expose-eventイベントを使用して全面にカイロをペイントすることで、1回実行しました。しかし、使用する方法もあるかもしれませgtk.Imageん。

于 2011-05-26T08:24:10.993 に答える