2017-09-22 32 views
0

このコードで私を助けてください。wxpythonで画像を表示

import wx 
import os 

class frame(wx.Frame): 
    '''frame class that display an image''' 
    def __init__(self, image, parent=None, id=-1, 
      pos=wx.DefaultPosition, title='Hello, wxPyhton!'): 
     '''creat a frame instance and display image.''' 
     temp = image.ConvertToBitmap() 
     size = temp.GetWidth(), temp.GetHeight() 
     wx.Frame(parent, id, pos, title, size) 
     self.bmp = wx.StaticBitmap(parent=self, bitmap=temp) 
class App(wx.App): 
    '''Application class.''' 

    def OnInit(self): 
     image = wx.Image('clem.jpg', wx.BITMAP_TYPE_JPEG) 
     self.frame = frame(image) 
     self.frame.Show() 
     return True 
if __name__ == '__main__': 
    app = App() 
    app.MainLoop() 

しかし、私はこのエラーを得た:私は、フレーム内の画像を表示したい

Traceback (most recent call last): 
File "C:/PycharmProjects/WXPYHTON/hello.py", line 18, in OnInit 
self.frame = frame(image) 
File "C:/PycharmProjects/WXPYHTON/hello.py", line 11, in __init__ 
wx.Frame(parent, id, pos, title, size) 
TypeError: Frame(): arguments did not match any overloaded call: 
overload 1: too many arguments 
overload 2: argument 3 has unexpected type 'Point' 
OnInit returned false, exiting... 
Process finished with exit code 1 

このコードを助けてください。私はどこが間違っているのか分かりません。

は、私はそれを変更しましたが、私はまだそれが正しければ、私のself.bmpを確認してください。このエラーに

Traceback (most recent call last): 
File "C:/PycharmProjects/WXPYHTON/hello.py", line 18, in OnInit 
self.frame = frame(image) 
File "C:/PycharmProjects/WXPYHTON/hello.py", line 12, in __init__ 
self.bmp = wx.StaticBitmap(parent=None, bitmap=temp) 
TypeError: StaticBitmap(): arguments did not match any overloaded call: 
overload 1: 'parent' is not a valid keyword argument 
overload 2: 'bitmap' is not a valid keyword argument 
OnInit returned false, exiting... 

を取得しています。ありがとう

答えて

0

フレームを正しく初期化しておらず、キーワードを変数名として使用しています。
変更:

wx.Frame(parent, id, pos, title, size) 

へ:

wx.Frame.__init__(self,parent,id,pos=pos,title=title,size=size) 

、それが動作するはずです。

+0

私のコードを確認してください@Rolf of Saxony –

+0

あなたの元のコードは、 'self.bmp = wx.StaticBitmap(parent = self、bitmap = temp)'と読むと 'self.bmp = wx.StaticBitmap(parent = None) 、bitmap = temp) 'ビットマップの親ウィンドウは' None'ではありません。 'parent = self'を使ってください。これらのエラーは、私が何も知らないパイカムから来ているように見えます。 –