首先,重要的是要提到我正在学习
Python和Gtk 3,所以我不是这些语言的高级程序员.
我正在尝试在Gtk3中创建一个用于创建png图像的Python脚本的图形界面,我想显示它,但是PyGobject文档非常稀缺,我还没有找到办法.到目前为止,我的界面看起来像这样:
按钮和文本条目排列在一个网格中,我希望将大空间(由大按钮表示)清空,直到脚本完成构建图像,然后在该区域显示它.代码是here.
有没有办法在Gtk3中使用Python?
提前致谢,
德语.
编辑
看一下@gpoo指出的演示,我发现了Frame小部件,我在GUI中实现了它.这是它的样子:
在窗口类中,我将Frame添加到网格中:
self.frame_rgb = Gtk.Frame(label='RGB image')
self.frame_rgb.set_label_align(0.5, 0.5)
self.frame_rgb.set_shadow_type(Gtk.ShadowType.IN)
self.grid.attach_next_to(self.frame_rgb, self.label_img_name,
Gtk.PositionType.RIGHT, 3, 8)
我还将Run按钮连接到回调函数,这样当我单击它时,我的脚本会创建然后显示png图像:
self.button_run = Gtk.Button(stock=Gtk.STOCK_EXECUTE)
self.button_run.connect('clicked', self.on_button_run_clicked)
self.grid.attach_next_to(self.button_run, self.entry_b_img,
Gtk.PositionType.BOTTOM, 1, 1)
最后,我的回调函数是(没有计算,只是为了测试目的将图像渲染到Frame):
def on_button_run_clicked(self, widget):
self.img = Gtk.Image.new_from_file('astro-tux.png')
self.frame_rgb.add(self.img)
但是当我单击“运行”按钮时出现以下错误:
(makeRGB.py:2613): Gtk-WARNING **: Attempting to add a widget with
type GtkImage to a GtkFrame, but as a GtkBin subclass a GtkFrame can
only contain one widget at a time; it already contains a widget of
type GtkImage
任何帮助表示赞赏!