标签: pygtk

12
推荐指数
2
解决办法
9657
查看次数

如何在开罗表面上绘制任何GTK小部件

我想保存GTK窗口的外观,以及它包含的所有按钮和其他小部件到PNG或PDF文件.开罗支持在这样的表面上绘画.我可以以某种方式要求GTK小部件在开罗表面上绘制自己吗?我非常感谢代码示例,因为我是GTK和Cairo的新手.Python是我的首选语言.

gtk pygtk cairo

12
推荐指数
2
解决办法
3850
查看次数

显示pygtk小部件后5秒运行功能

如何在pygtk小部件显示后5秒运行功能?

python time pygtk function

11
推荐指数
2
解决办法
3133
查看次数

如何让GtkTextView看起来像GtkEntry?

或者"如何向GtkTextView添加可见(薄)边框"?它有可能吗?

先感谢您.

gtk pygtk glade gtktextview gtkentry

11
推荐指数
2
解决办法
2932
查看次数

python中的Gtk.StatusIcon PopupMenu

我试图将PyGTK中的一些小例子移植到新的PyGobject绑定中,但是我遇到了一个带有弹出菜单的障碍,尽管没有错误,右键单击没有显示菜单,这是代码,

from gi.repository import Gtk
class aStatusIcon:
    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()
        window.connect("destroy", lambda w: Gtk.main_quit())
        window.show_all()

    def right_click_event(self, icon, button, time):
        menu = Gtk.Menu()

        about = Gtk.MenuItem()
        about.set_label("About")
        quit = Gtk.MenuItem()
        quit.set_label("Quit")

        about.connect("activate", self.show_about_dialog)
        quit.connect("activate", Gtk.main_quit)

        menu.append(about)
        menu.append(quit)

        menu.show_all()

        #menu.popup(None, None, gtk.status_icon_position_menu, button, time, self.statusicon) # previous working pygtk line
        menu.popup(None, None, None, Gtk.StatusIcon.position_menu, button, time) #i assume this is problem line

    def show_about_dialog(self, widget):
        about_dialog = Gtk.AboutDialog()

        about_dialog.set_destroy_with_parent(True)
        about_dialog.set_name("StatusIcon Example")
        about_dialog.set_version("1.0")
        about_dialog.set_authors(["Andrew …
Run Code Online (Sandbox Code Playgroud)

python pygtk pygobject

11
推荐指数
1
解决办法
4830
查看次数

用py2exe捆绑GTK资源

我正在使用Windows XP上的一体化安装程序中的 Python 2.6和PyGTK 2.22.6 ,尝试为我的应用程序构建单文件可执行文件(通过py2exe).

我的问题是,当我将我的应用程序作为脚本运行时(即,没有内置到.exe文件中,就像一个松散的.py文件集合),它使用看起来像本机的Windows主题,但是当我运行构建的exe时,我看到默认GTK主题.

我知道可以通过将一堆文件复制到distpy2exe创建的目录中来解决这个问题,但我读过的所有内容都涉及手动复制数据,而我希望这是构建过程的自动部分.此外,关于该主题的所有内容(包括FAQ)都已过时 - PyGTK现在保留其文件C:\Python2x\Lib\site-packages\gtk-2.0\runtime\...,只是复制libetc目录不能解决问题.

我的问题是:

  1. 我希望能够以编程方式找到GTK运行时数据,setup.py而不是硬编码路径.我该怎么做呢?

  2. 我需要包含哪些最小资源?

更新:我可能通过反复试验几乎回答了#2.要使"wimp"(即MS Windows)主题起作用,我需要以下文件:

runtime\lib\gtk-2.0\2.10.0\engines\libwimp.dll
runtime\etc\gtk-2.0\gtkrc
runtime\share\icons\*
runtime\share\themes\MS-Windows
Run Code Online (Sandbox Code Playgroud)

...没有runtime前缀,但具有相同的目录结构,直接坐在distpy2exe生成的目录中.但是,在什么地方2.10.0来的,因为gtk.gtk_version(2,22,0)

python pygtk py2exe

11
推荐指数
1
解决办法
1616
查看次数

ImportError:没有名为_backend_gdk的模块

我开始使用pyGTK +了解使用python和matplotlib进行交互式绘图.因此,我看了一下matplotlib网站上给出例子.

这是本守则的简短内容:

#!/usr/bin/env python
"""
Example of embedding matplotlib in an application and interacting with
a treeview to store data.  Double click on an entry to update plot
data

"""
import pygtk
pygtk.require('2.0')
import gtk
from gtk import gdk

import matplotlib
matplotlib.use('GTKAgg')  # or 'GTK'
from matplotlib.backends.backend_gtk import FigureCanvasGTK as FigureCanvas

from numpy.random import random
from matplotlib.figure import Figure
Run Code Online (Sandbox Code Playgroud)

我尝试在终端中运行此脚本我收到以下错误:

Traceback (most recent call last):
  File "gtk_spreadsheet.py", line 15, in <module>
    from matplotlib.backends.backend_gtk import FigureCanvasGTK …
Run Code Online (Sandbox Code Playgroud)

python pygtk matplotlib

11
推荐指数
2
解决办法
1万
查看次数

如何在ubuntu 15.04中安装poppler?

Poppler是一个基于xpdf-3.0代码库的PDF渲染库.我已经从官方网站http://poppler.freedesktop.org/下载了tar.xz文件 但我不知道如何处理这个文件

是否有任何安装或运行命令?

PS - 我是linux的新手,所以我对它还不是很了解..

python ubuntu pygtk poppler pypdf

11
推荐指数
2
解决办法
1万
查看次数

使用PyGTK右键单击菜单(上下文菜单)

所以我对Python仍然相当新,并且已经学习了几个月,但我想弄清楚的一件事就是说你有一个基本窗口......

#!/usr/bin/env python

import sys, os
import pygtk, gtk, gobject

class app:

   def __init__(self):
    window = gtk.Window(gtk.WINDOW_TOPLEVEL)
    window.set_title("TestApp")
    window.set_default_size(320, 240)
    window.connect("destroy", gtk.main_quit)
    window.show_all()

app()
gtk.main()
Run Code Online (Sandbox Code Playgroud)

我想在这个窗口右键单击,然后弹出一个菜单,如警报,复制,退出,无论我想放下什么.

我怎么做到这一点?

python gtk pygtk menu pygobject

10
推荐指数
1
解决办法
6020
查看次数

Python:导入cairo错误(2.7和3.6)undefined symbol:cairo_tee_surface_index

尝试在Python 2.7中导入gtk时出现以下错误:

>>> import gtk Traceback (most recent call last): File "<stdin>", line 1, in <module> File "gtk/__init__.py", line 40, in <module> from gtk import _gtk File "/usr/lib/python2.7/site-packages/cairo/__init__.py", line 1, in <module> from ._cairo import * # noqa: F401,F403 ImportError: /usr/lib/python2.7/site-packages/cairo/_cairo.so: undefined symbol: cairo_tee_surface_index

尝试从Python 3.6导入cairo时出现以下错误:

>>> import cairo Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib/python3.6/site-packages/cairo/__init__.py", line 1, in <module> from ._cairo import * # noqa: F401,F403 ImportError: /usr/lib/python3.6/site-packages/cairo/_cairo.cpython-36m-x86_64-linux-gnu.so: undefined symbol: cairo_tee_surface_index

我按照BLFS书中给出的顺序编译和构建模块.我也按照书中的说明安装了cairo,并启用了tee.

我的系统是LFS,4.14.4内核版本,Python …

linux pygtk pycairo python-2.7 python-3.6

10
推荐指数
2
解决办法
2497
查看次数