1

wxPython と VPython でプログラムを書きましたが、大きな問題があります。VPython モジュールが常に実行されるわけではありません。インタープリターでプログラムを実行すると、コンパイル後よりも頻繁にプログラムが実行されます。コードがエラーを返すことはありません。他のコンピューターで試してみましたが、プログラムは同じです。

Win7 Python 2.7.5 32 ビット wxPython 2.9.4 VPython 6.0.5

import visual as v
import wx

class Maintest(v.window):
    def InitUI(self):
        fileMenu = wx.Menu()


        self.menubar.Append(fileMenu, '&Plik')
        self.menubar.Remove(0)

    def asd(self, scene):
        v.box()


def main():
    w = Maintest(menus=True, title="program", x=100, y=100, width=1024, height=600)
    w.InitUI()
    scene = v.display(window=w, x=0, y=0, width=600, height=600,  up=(0,0,1), background=(1,1,1), foreground = (0,1,0), forward=(-1,-1,-1))
    w.asd(scene)
    while True:
        v.rate(60)

if __name__ == '__main__':
    main()

すべてOK: http://imageshack.us/photo/my-images/199/tpp.png/ OKではない: http://imageshack.us/photo/my-images/689/akun.png/

メインプログラムの部分だけですが、問題は同じです。なにが問題ですか?どうすればいいですか?私は答えに感謝します。

4

3 に答える 3

0

私は同様の問題、または同様の症状を持つ少なくとも 1 つの問題を抱えており、起動時のマウスの位置に依存していることがわかりました (完全な説明はこちらを参照してください)。

解決策は、表示が作成された後に Hide と Show を連続して呼び出すことでした。

これらの呼び出しは、表示オブジェクトに供給されるパネルに対して行う必要があります。

win.panel.Hide() win.panel.Show()

于 2014-02-10T18:08:32.097 に答える
0

推測にすぎませんが、何かを漏らした可能性があります。

import wx

app = wx.App(redirect=True)
top = wx.Frame(None, title="Hello World", size=(300,200))
top.Show() # you need this
app.MainLoop() # you need this
于 2013-09-10T12:54:58.537 に答える
0

Win7 Python 2.7.5 64bit wxPython 2.9.4 VPython 6.0.5 では、プログラムを失敗させることができません。問題が完全には再現できない (そして私にはまったく再現できない) という事実は、グラフィックス ドライバーを更新する必要がある可能性を示唆しています。VPython は、ドライバーの問題に敏感な OpenGL 3D グラフィックス ライブラリを使用します。

于 2013-10-18T21:27:47.700 に答える