2

ボタン (およびその他の GTK ウィジェット) を matplotlib プロットの上に表示したいと考えています。ただし、常に FigureCanvas の下に表示されます。

最小限の例を次に示します。

import gtk
import matplotlib as mpl
from matplotlib.backends.backend_gtkagg import FigureCanvasGTKAgg as FigureCanvas

win=gtk.Window()
fixed=gtk.Fixed()
win.add(fixed)

fig=mpl.figure.Figure()
canvas=FigureCanvas(fig)
canvas.set_size_request(100,100)
fixed.put(canvas,0,0)
button=gtk.Button('test')
fixed.put(button,80,80)
button2=gtk.Button('test2')
fixed.put(button2,0,0)

win.show_all()
gtk.main()

また、GDK ウィンドウの z オーダーを で変更しようとしましたbutton.window.raise_()が、成功しませんでした。

これを修正する方法はありますか?

EDIT :新しい GDK ウィンドウを作成するのではなく、親のウィンドウを再利用することが
判明gtk.Buttonしましたが、FigureCanvas は新しいウィンドウを作成します。

したがって、button2上からに入れるgtk.EventBoxと、ボタンがキャンバスの上に表示されます。ただし、醜い長方形の境界線があります。それを削除する方法はありますか?

4

1 に答える 1