我有一个小型应用程序,它使用DrawingArea使用PyGObject和GTK3绘制简单的map。我使用加载一个Pixbuffromgi.repositoryimportGtk,GdkPixbufpixbuf=GdkPixbuf.Pixbuf.new_from_file_at_size("logo.png",25,25)然后尝试在DrawingArea的绘图事件信号中绘制它defdraw(self,widget,context):window=widget.get_window()ctx=window.cairo_create()ctx.set_source_pixbuf(pixbu
我试图将一些小示例从PyGTK移植到新的PyGobject绑定(bind),但我遇到了弹出菜单的障碍,尽管没有出现错误,右键单击时没有显示菜单,这是代码,fromgi.repositoryimportGtkclassaStatusIcon:def__init__(self):self.statusicon=Gtk.StatusIcon()self.statusicon.set_from_stock(Gtk.STOCK_HOME)self.statusicon.connect("popup-menu",self.right_click_event)window=Gtk.Window()w
如何获取小部件的“名称”?当我使用Glade定义GUI时,我可以“命名”窗口的小部件,但是当我有小部件对象实例时如何恢复该属性?我试过get_property()、get_name()和$widget.name都没有用。更新:我使用的是GtkBuilder文件格式(即XML格式)。解决方案:我使用的修复方法:在从GtkBuilderset_property("name",name)方法. 最佳答案 我使用适合我的类方法形式:gtk.Buildable.get_name(widget)引用资料PyGtk:gtk.Buildable.g
我想在我的(Python)程序中有一个GtkTextView,它显示带有系统等宽字体的文本。我发现了很多使用明确字体系列名称和大小的方法。但是,我想使用系统指定的等宽字体(例如来自ubuntu字体首选项面板)。我的程序应该能够在Windows和Linux上运行而无需修改,自动选择正确的字体。澄清一下,这不是我想要的:fontdesc=pango.FontDescription("Courier18")textview.modify_font(fontdesc) 最佳答案 您可以只使用“monospace18”作为您的字体,它将使用系
我正在尝试执行键盘命令。当我插入S+some_number+Return时,我需要调用一个函数,该函数将在Gtk.Treeview并设置该行已被选中。我怎样才能做到这一点? 最佳答案 .set_cursor(0)#foryourvalueof`path`0这是你想要的吗?我认为treeview也会吸引焦点。如果你想将给定的行添加到选择集中而不是清除旧选择并设置只选择一行,你必须使用通过.get_selection()获得的Gtk.TreeSelection方法。 关于Python+GTK
我正在寻找是否有另一种方法可以将PIL图像转换为GTKPixbuf。现在我所拥有的只是我发现并根据我的需要进行黑客攻击的低效编码实践。这是我目前所拥有的:defimage2pixbuf(self,im):file1=StringIO.StringIO()im.save(file1,"ppm")contents=file1.getvalue()file1.close()loader=gtk.gdk.PixbufLoader("pnm")loader.write(contents,len(contents))pixbuf=loader.get_pixbuf()loader.close()r
我开始使用Glade、python和Gtk3库构建GUI。我想尝试在我的GUI中查看将它链接到容器内的外部窗口。可能吗?哪个是执行此操作的最佳容器对象?我开始搜索,但Gtk2中的简单方法(如here)不能再在Gtk3中使用。我发现了一个非常有趣的帖子here这允许我设置目标窗口的正确ID,但我仍然对如何在我的GUI中显示它感到困惑。我试图改变一点但没有成功thesetutorials与开罗。到目前为止我的一段代码(我想在map_area容器中显示ID=0x360000b的窗口,我必须使用“self.”句柄结构)。map_area容器暂时是一个Drawingarea。#ifconditi
我正在移植liblarch,一个用于处理有向无环图的库,从PyGTK(GTK2)到PyGObjectintrospection(GTK3)。我遇到了GtkTreeView的问题。使用liblarch的应用程序需要按列对GtkTreeView进行排序,但同时,用户可以拖放行,将一行移动到另一行下。为此,我必须手动处理dnd_data_get()和dnd_data_receive(),这完全没问题。在PyGTK下工作的GtkTreeView有最小的设置。行已排序,用户可以移动行。#!/usr/bin/python#-*-coding:utf-8-*-importgtkwindow=gtk.
我正在尝试使用Python、GTK3和cairo创建一个简单的绘图应用程序。该工具应该有不同的刷子和某种highlighterpen.我想我可以使用笔画的alpha属性来创建它。然而,连接点是重叠的,这会产生一种奇怪的效果。下面是负责这个红色画笔和荧光笔模式的代码:defdraw_brush(widget,x,y,odata,width=2.5,r=1,g=0,b=0,alpha=1):cr=cairo.Context(widget.surface)cr.set_source_rgba(r,g,b,alpha)cr.set_line_width(width)cr.set_line_ca
我有一个小的python程序,它展示了如何为Linux和Windows翻译GTK(pygobject)GUI。在Linux中一切正常,但在Windows中,非ASCII符号不会在翻译中呈现。我假设Glade文件和*.mo文件都被正确解码,因为:英文界面显示非ASCII符号正常英文和翻译都在打印语句中显示非ASCII字符这是英文原版界面的样子:德文翻译不使用环境变量或PANGOCAIRO_BACKEND=win32:使用环境变量PANGOCAIRO_BACKEND=fontconfig(PANGOCAIRO_BACKEND=fc)的德语翻译。第一个标签设置为使用Calibri和Pango