我尝试在GTK中用Python为我的自定义小部件实现Heigh-for-width Geometry Management。我的小部件是Gtk.DrawingArea
中的一个子类,用于绘制图像的某些部分。在
据我所知,GTK文档(上面的链接)我必须实现以下4种方法:
现在想知道在Python中在哪里实现它。在
我试过了:
from gi.repository import Gtk
class Patch(Gtk.DrawingArea):
def __init__(self, model, image, position):
super(Patch,self).__init__()
#…
def get_preferred_width(self, *args, **kargs):
print("test")
def get_preferred_height(self, *args, **kargs):
print("test")
def get_preferred_width_for_height(self, *args, **kargs):
print("test")
def get_preferred_height_for_width(self, *args, **kargs):
print("test")
但方法不会被调用。在C中,定义函数并将其设置为小部件,如下所示:
^{pr2}$这是如何在Python中实现的?在
您必须将这些方法命名为
do_virtual_method
:请注意,您还必须返回虚拟方法要求您返回的值,否则您将得到一个神秘的错误。在
相关问题 更多 >
编程相关推荐