首先我查看了get_size_request方法。那里的文档以:Togetthesizeawidgetwillactuallyuse,callthesize_request()insteadofthismethod.我查看size_request(),它以结尾Alsorememberthatthesizerequestisnotnecessarilythesizeawidgetwillactuallybeallocated.那么,GTK中是否有任何函数可以获取小部件的实际大小?这是一个在屏幕上实际显示的小部件,因此GTK肯定在某处有此信息。 最佳答案
fromgi.repositoryimportGtk#printGtk.GTK_MAJOR_VERSIONwin=Gtk.Window()win.connect("delete-event",Gtk.main_quit)win.show_all()Gtk.main()那是我的代码,我怎么知道正在使用哪个版本的Gtk。谢谢! 最佳答案 您可以使用以下函数获取版本信息:Gtk.get_major_version()Gtk.get_minor_version()Gtk.get_micro_version()
我正在开发一个采用MVC结构的pygtk应用程序。但我不认为我在实现中遵循标准MVC模式。请建议我必须如何使用MVC来解决以下问题。我在我的应用程序中使用python、gtk、sqlite3应用程序的问题陈述:数据存在于日志文件中。它应该被提取并显示在GUI中。GUI可以有多个View(如浏览器选项卡),显示从日志文件中提取的数据(用户可以从同一个数据库表创建多个View)。用户可以通过GUIView过滤/搜索数据。过滤条件可能因View而异。当前使用MVC结构的实现:当前,在GUI中,存在一个“创建View”按钮,单击该按钮会创建一个View来显示提取的数据。数据从日志文件中提取(C
当点击文件选择器对话框上的打开按钮时,如何让我的文件选择器能够同时选择文件和文件夹?我想压缩在一个文件选择器中打开文件和文件夹的能力。我正在使用GTK+和Python。 最佳答案 我正在考虑这个问题,虽然在您的评论中您决定走另一条路,但我确实有一个建议:编写您自己的GTK+文件选择器子类并提供两个“打开”按钮,一个到“打开文件”和另一个“打开目录”。这将消除上面讨论的歧义。 关于python-GTK+Filechooser打开文件和文件夹,我们在StackOverflow上找到一个类似的
随着GObject自省(introspection)的引入,通过widget.get_style()方法访问主题颜色的方式已经不存在了。我对通过GOBject自省(introspection)使用GTK+时如何获得主题颜色感兴趣。该解决方案最好适用于两个版本(2和3),但也可以接受适用于每个版本的解决方案。 最佳答案 我不确定如何从gtk+-2.0获取它,除非您使用纯gtk+-2.0环境,在这种情况下我认为旧的GtkStyle方法有效。例如,假设您没有运行像gnome-shell这样的Gtk-3.0环境importgi#makesu
在虚拟环境中,尝试加载使用matplotlib的GTKAgg后端的脚本时,我失败了,回溯如下:Traceback(mostrecentcalllast):File"",line1,inFile"/home/user/.virtualenvs/venv/local/lib/python2.7/site-packages/matplotlib/pyplot.py",line97,in_backend_mod,new_figure_manager,draw_if_interactive,_show=pylab_setup()File"/home/user/.virtualenvs/venv/
使用GTK3时,一些Treeviews(我推测)在底部有几个按钮似乎是它的一部分。Ubuntu中的系统设置以及GTK3应用程序的文件选择器对话框都使用了它这是GTK3的一部分还是只是一个特制的容器? 最佳答案 以防其他人来到这里,按钮是工具栏中带有“inline-toolbar”类的工具按钮self.listTools=Gtk.Toolbar()self.listTools.set_property("icon_size",1)context=self.listTools.get_style_context()context.add
在Python2.7中,我可以成功地将Unicode字符串"abc\udc34xyz"转换为UTF-8(结果是"abc\xed\xb0\xb4xyz")。但是当我将UTF-8字符串传递给例如时。pango_parse_markup()或g_convert_with_fallback(),我收到类似“转换输入中的字节序列无效”的错误。显然,GTK/Pango函数检测到字符串中的“不成对代理项”并(正确地?)拒绝它。Python3甚至不允许将Unicode字符串转换为UTF-8(错误:“‘utf-8’编解码器无法在位置3中编码字符‘\udc34’:不允许代理”),但我可以运行"abc\ud
我是GTK3的新手(我更喜欢wxWidgets),我无法将股票图标加载到gtk.button...这是我的尝试:image=Gtk.Image()pb=Pixbuf.new_from_stock(Gtk.STOCK_OPEN)self.browse_button=Gtk.Button(label="")self.browse_button.set_from_pixbuf(pb)这是在wxWidgets上的实现方式(简单得多):self.browse_button=wx.BitmapButton(self,wx.ID_ANY,wx.ArtProvider.GetBitmap(wx.ART
我刚刚使用Gtk3为GUI开发了一个Python2.7应用程序。我的问题是,我现在如何为我的最终用户创建适用于Windows、Mac和Linux(可能是三种不同的安装程序)的安装程序,以便轻松下载应用程序而无需下载python和GTK等。我以前从未从python脚本创建安装程序。我听说有一些用于此目的的工具(py2exe?pyinstaller?),但我不知道如何以及用它们打包什么才能使其能够使用Gtk3。 最佳答案 在互联网上搜索了几天的解决方案后,我终于偶然发现了thisblog-post,这帮助我创建了一个.exe来在Wind