标签: pygtk

推荐用于Python项目的.gitignore文件?

我正在尝试收集一些我的默认设置,有一件事我意识到我没有标准的.gitignore文件.有一个很好的线程显示了Visual Studio项目良好.gitignore,但我没有看到很多关于Python和相关工具的建议(PyGTK,Django).

到目前为止,我有......

*.pyc
*.pyo
Run Code Online (Sandbox Code Playgroud)

...对于编译对象和......

build/
dist/
Run Code Online (Sandbox Code Playgroud)

...用于setuptools输出.

还有什么建议吗?

python git django pygtk gitignore

176
推荐指数
6
解决办法
18万
查看次数

wxPython vs PyQt vs PyGTK:何时使用和使用什么?

  • 需要建议具有最低健康经验的人使用Python设计GUI界面.
  • 何时以及根据GUI复杂性选择什么?
  • 我们可以使用哪些GUI构建器来获得更好的开发质量?

这是我的第一个GUI设计,我没有使用GUI构建器,目前堆叠,因为我已经理解,wx.ListCtrl的ObjectListView包装器本身不包含容易进度条或规格元素.(参见图片中的"上传状态"栏).

注意: ObjectListView在.Net版本中有进度条,目前不在wx.Python中.

PS: 我发现了这个精彩的Python GTK +全栈教程

在此输入图像描述

user-interface pygtk wxpython pyqt

39
推荐指数
3
解决办法
5万
查看次数

单元测试Python GUI应用程序的推荐方法是什么?

我现在愚蠢地试图为Python桌面应用程序维护两个并行代码库,一个使用PyGObject内省GTK 3,一个使用PyGTK for GTK 2.我主要在PyGObject分支上工作,然后我将端口转换到PyGTK分支.由于这些实现之间的所有细微差别,我经常忽略事情并导致我想念和意外释放的破损,只是被用户抓住.

我试图找出一种设计一些单元测试的好方法,这些单元测试最好适合在两个代码库上运行.这不是一个过于复杂的程序,(它本质上是一个图书馆管理工具,想像iTunes):

- Main Window
  |- Toolbar with some buttons (add/edit/remove items, configure the program)
  |
  |- VPaned
  |--- Top HPaned
  |------ ListView (listing values by which a library of items can be filtered)
  |------ ListView (listing the contents of the library
  |--- Bottom HPaned
  |------ Image (displaying cover art for the currently selected item in the library)
  |------ TextView (displaying formatted text describing the currently selected item)
 - Edit dialog
 - Configuration dialog
 - About …
Run Code Online (Sandbox Code Playgroud)

python user-interface unit-testing pygtk pygobject

38
推荐指数
2
解决办法
4399
查看次数

GtkDialog映射没有临时父级

我有一个用Glade(3.18)构建的GUI,它由Python 3程序调用(使用PyGObject).运行程序(Fedora 21)时,我收到很多警告:

Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
Run Code Online (Sandbox Code Playgroud)

我该如何修复此警告?我尝试Transient for: main_window在Glade中填写所有对话窗口的字段,但警告仍然出现.

gtk pygtk glade pygobject

38
推荐指数
1
解决办法
7万
查看次数

在virtualenv中安装PyGtk

所以我试图在我的virtualenv(在控制台中)运行一个简单的matplotlib示例.这是代码:

import matplotlib
matplotlib.use('GTKAgg')
import matplotlib.pyplot as plt
radius = [1.0, 2.0, 3.0, 4.0, 5.0, 6.0]
area = [3.14159, 12.56636, 28.27431, 50.26544, 78.53975, 113.09724]
plt.plot(radius, area)
plt.show()
Run Code Online (Sandbox Code Playgroud)

但是,当我运行这个时,我得到:

ImportError:Gtk*后端需要安装pygtk.

现在,乐趣开始了.我试图pip安装pygtk但它抛出:

********************************************************************
* Building PyGTK using distutils is only supported on windows. *
* To build PyGTK in a supported way, read the INSTALL file.    *
********************************************************************
Complete output from command python setup.py egg_info:
********************************************************************
Run Code Online (Sandbox Code Playgroud)

我检查了INSTALL文件并说要试试./configfure; make; make install.然而.我不太确定如何在virtualenv中做到这一点.我在哪里解压缩pygtk的源代码以便安装在virtualenv中.

python pygtk matplotlib virtualenv

37
推荐指数
3
解决办法
3万
查看次数

是否有python的gi.repository文档?

我正在寻找gi.repository模块文档,我在互联网上找不到任何东西.我发现的只是C的新Gtk3库的文档,或旧的PyGtk 2.0参考手册

我正在寻找像PyGtk 2.0参考手册,但对于Gtk3.

Python有类似的东西吗?(我不是在寻找dir(Gtk)help(Gtk)在Python控制台中.)

python gtk pygtk gtk3

35
推荐指数
3
解决办法
2万
查看次数

PyGTK for Mac OS X在哪里?

对于当前的mac os x,PyGTK是否存在二进制文件?我使用多个桌面环境(mac,windows,gnome),并且真的认为python缺乏跨平台GUI是一个问题.有谁知道我在哪里可以找到适用于Mac的PyGTK和GTK的内置版本?我无法克隆git存储库,它会保持超时.

macos pygtk

34
推荐指数
4
解决办法
4万
查看次数

Glade还是没有林间空地:使用PyGtk的最佳方式是什么?

我已经学习了一段时间的python并取得了一些成功.我甚至设法使用PyGtk + Glade创建了一个或两个(简单)程序.

问题是:我不确定使用GTK和python的最佳方法是使用Glade构建接口.

我想知道我们中更有经验的人(记住,我只是一个初学者)可以指出使用Glade的好处和注意事项,而不是在代码本身中创建所有内容(假设学习正确的gtk绑定不会完全是个问题).

python gtk pygtk glade gtk2

31
推荐指数
4
解决办法
7004
查看次数

在PyGObject内省中,GTK中的线程是否已经改变?

我正在第一次将程序从PyGTK转换为PyGObject内省,我遇到了一个带有线程的障碍.我有一个需要一些时间才能完成的过程,所以我弹出一个带有进度条的对话框,我使用一个线程来完成这个过程并更新进度条.这对PyGTK工作得很好,但在转换为PyGObject之后,我得到了所有常见的不正确的线程怪异:程序挂起,但它似乎挂在过程的不同部分,等等.所以我得到的印象是事情发生了变化,但我可以弄清楚是什么.

这是一个简单的PyGTK进度条示例:http://aruiz.typepad.com/siliconisland/2006/04/threads_on_pygt.html 如该页面上所示,代码可以正常工作.我把它转换为PyGObject内省,我遇到了与我的程序相同的问题:它挂起,它没有正确更新进度条等.

import threading
import random, time
from gi.repository import Gtk, Gdk
#Initializing the gtk's thread engine
Gdk.threads_init()


class FractionSetter(threading.Thread):
    """This class sets the fraction of the progressbar"""

    #Thread event, stops the thread if it is set.
    stopthread = threading.Event()

    def run(self):
        """Run method, this is the code that runs while thread is alive."""

        #Importing the progressbar widget from the global scope
        global progressbar 

        #While the stopthread event isn't setted, the thread keeps going on
        while …
Run Code Online (Sandbox Code Playgroud)

python gtk multithreading pygtk pygobject

27
推荐指数
1
解决办法
3524
查看次数

从PYZ中的虚拟目录获取GtkBuilder小部件的文本消息目录

是否有一个既定的方法嵌入的gettext locale/xy/LC_MESSAGES/*PYZ捆绑?特别是让Gtks自动小部件翻译 ZIP存档中获取它们.

对于其他嵌入式资源pkgutil.get_detainspect/ get_source工作得足够好.但系统 Python gettext API依赖于bindtextdomain提供一个简单的旧localedir; 没有资源或字符串等

所以我无法设计一个可行的甚至是远程实用的解决方法:

  1. 虚拟gvfs/ gio路径
    现在使用archive://file%3A%2F%2Fmypkg.pyz%2Fmessages%2FIRI可以直接从zip读取其他文件.但是glibs g_dgettext仍然只是系统库的一个薄包装器.因此,任何此类URL都不能用作localedir.

  2. 部分提取拉链
    这就是我认为PyInstaller的工作方式.但是将.pyz应用程序捆绑在一起当然有点荒谬,只是在每次调用时都预先提取.

  3. Userland gettext .mo/ .poextraction
    现在手动读取消息目录或者只是使用普通的dicts来代替它.但仅适用于应用程序中的字符串.再也没办法让Gtk/GtkBuilder暗中接他们了.
    因此,我不得不手动遍历整个小部件树,标签,文本,内部小部件,markup_text等.可能,但是meh.

  4. FUSE安装
    这将是超薄的.但是当然,拉链内容可以被访问gvfs-mount等等.就好像是某种记忆力.而且我怀疑它会保持可靠性,例如两个应用程序实例正在运行,或者之前的不正确终止.(就像dunno一样,由于系统库,比如gettext,在一个脆弱的拉链保险丝点上磕磕绊绊......)

  5. 用于翻译的Gtk信号/事件(?)
    我发现蹲下,所以我有点确定在Gtk/PyGtk/GI中没有替代机制来进行小部件翻译.Gtk/Builder期望并 gettext相关联.

是否有更可靠的方法?

python pygtk glib gettext pyz

26
推荐指数
1
解决办法
451
查看次数