私はPythonでGUIに取り組んでいます。easyGUI (http://easygui.sourceforge.net/) を試してみましたが、2 つのウィンドウを同時に表示する方法が見つからないことを除けば、非常にうまく機能します。
これは、GNU/Linux でこれまでに試したことです。
from easygui import *
import wx
class FicheFrame( wx.Frame ) :
def __init__( self, data ) :
wx.Frame.__init__( self, None,-1, "Custom data", size=(300, 400) )
self.d = data
scrollWin = wx.PyScrolledWindow( self, -1 )
x = 20
y = 20
txtStr = self.d
stTxt = wx.StaticText( scrollWin, -1, txtStr, pos=(x, y) )
w, h = stTxt.GetSize()
dy = h + 10
y += dy
scrollWin.SetScrollbars( 0, dy, 0, y/dy+1 )
scrollWin.SetScrollRate( 1, 1 )
myapp = wx.App( redirect=False )
myAppFrame = FicheFrame('data')
myAppFrame.Show()
exceptionbox(msg='Test test test', title=None)
myapp.MainLoop()
残念ながら、例外ボックスはmyAppFrameの前に表示されます。exceptionboxを閉じると、myAppFrameが表示されますが、理由がわかりません。逆にすべきではありませんか?
編集: これは Windows で意図したとおりに機能します!...
EDIT2:
代わりにTkinterを使用する方法を実際に見つけました...このコードは機能します:
from easygui import *
from Tkinter import *
while True:
root = Tk()
w = Label(root, text="Hello, world!")
w.pack()
exceptionbox(msg='test test', title=None)
root.destroy()
root.mainloop()
del root