问题标签 [pygtk]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
4808 浏览

python - pyGTK 应用程序中的 pyGame

在 PyGTK 应用程序中使用 PyGame (SDL) 的最佳方式是什么?

我正在寻找一种方法,它允许我在 GTK 窗口中拥有一个绘图区域,同时能够管理 GTK 和 SDL 事件。

0 投票
11 回答
8407 浏览

python - Glade or no glade:使用 PyGtk 的最佳方式是什么?

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

问题是:我不确定将 GTK 与 python 结合使用的最佳方法是否是使用 Glade 构建接口。

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

0 投票
3 回答
278 浏览

linux - GtkWidget.events 属性用于(类似)GtkTreeView 小部件的目的是什么?

GtkTreeView我在一个窗口中有一个 Glade GUI 描述文件GtkHBox;并且有一个row_activated信号处理程序。现在,Glade 已经自动将该树视图的“事件”属性(继承自GtkWidget)设置为某个值(GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK)。这有两个奇怪的地方:

  • 删除预设值(使属性为空)似乎不会破坏应用程序(至少不会使用我有 atm 的旧 GTK 2.10)。
  • 事实上,我以前见过的一个烦人的错误(树视图项目无法正确响应展开或折叠点击)现在已经消失了!

events我还没有用较新的 GTK 版本对此进行测试,但问题已经存在:这个属性的目的到底是什么?为什么 Glade 会自动且不必要地将其设置为某个值?这有一些我不知道的副作用吗?

0 投票
3 回答
3079 浏览

python - 如何在 pygtk 中创建新信号

我创建了一个 python 对象,但我想在它上面发送信号。我让它继承自 gobject.GObject,但似乎没有任何方法可以在我的对象上创建新信号。

0 投票
3 回答
1414 浏览

python - 如何为 MacOS 开发和创建一个独立的 PyGTK 应用程序包,并带有本地外观的小部件?

我读过可以在 MacOS X 上构建 GTK+。我知道可以在 MacOS 上创建 GTK+ 应用程序包。我也知道可以创建看起来有点原生的小部件。但是,四处搜索我并不清楚如何创建一个包含本机主题内容的包,并使用 Python 而不是它自己的 C 要点。也有传言说可以构建 PyGTK,但听起来这个过程可能仍然存在一些问题。

但是,没有一步一步的指南来解释如何设置一个可以从 Python 源运行应用程序的环境,然后在应用程序包中构建和部署。我该怎么做呢?

0 投票
1 回答
278 浏览

python - 以编程方式聚焦 hippo.CanvasEntry?

考虑这个 Python 程序,它使用 PyGtk 和 Hippo Canvas 来显示可点击的文本标签。单击文本标签会将其替换为包含标签文本的 Hippo CanvasEntry 小部件。

单击文本标签时创建的 CanvasEntry 如何在创建时自动聚焦?

0 投票
6 回答
2008 浏览

python - 如何连贯地组织 PyGTK 桌面应用程序的模块?

我正在使用 PyGTK 开发一个桌面应用程序,并且似乎遇到了我的文件组织的一些限制。到目前为止,我已经以这种方式构建了我的项目:

  • application.py - 保存主要的应用程序类(大多数功能例程)
  • gui.py - 拥有一个松耦合的 GTK gui 实现。处理信号回调等。
  • command.py - 包含不依赖于应用程序类中数据的命令行自动化功能
  • state.py - 保存状态数据持久性类

到目前为止,这已经很好地发挥了作用,但此时 application.py 开始变得相当长。我查看了许多其他 PyGTK 应用程序,它们似乎有类似的结构问题。在某个时刻,主模块开始变得很长,并且没有明显的方法可以在不牺牲清晰度和面向对象的情况下将代码分成更窄的模块。

我考虑过让 GUI 成为主要模块,并为工具栏例程、菜单例程等设置单独的模块,但那时我相信我将失去 OOP 的大部分好处并最终得到一个一切都引用一切的场景.

我应该只处理一个很长的中央模块,还是有更好的方式来构建项目,这样我就不必过多地依赖类浏览器?

编辑我

好的,关于所有 MVC 的东西都采取了这一点。我的代码中确实有一个粗略的 MVC 近似值,但不可否认,通过进一步分离模型和控制器,我可能会获得一些进展。但是,我正在阅读 python-gtkmvc 的文档(顺便说一句,这是一个很棒的发现,感谢您参考它),我的印象是它并不能解决我的问题,而只是形式化它。我的应用程序是一个单一的空地文件,通常是一个窗口。因此,无论我多么严格地定义模块的 MVC 角色,我仍然会让一个控制器模块完成大部分工作,这几乎就是我现在所拥有的。诚然,我对正确的 MVC 实现有点模糊,我会继续研究,但事实并非如此

我应该为窗口的不同部分(工具栏、菜单等)考虑单独的控制器/视图对吗?也许这就是我在这里所缺少的。似乎这就是 S. Lott 在他的第二个要点中所指的内容。

感谢您到目前为止的回复。

0 投票
3 回答
5057 浏览

python - 如何在 Windows、Linux 和 MacOS 中通过 Python 确定显示空闲时间?

我想知道自从用户最后一次按键或移动鼠标以来已经过了多长时间 - 不仅在我的应用程序中,而且在整个“计算机”(即显示器)上,以便猜测他们是否仍然在计算机并能够观察屏幕上弹出的通知。

我想纯粹从 (Py)GTK+ 来做这件事,但我愿意调用特定于平台的函数。理想情况下,我想调用已经从 Python 包装的函数,但如果这不可能,我不会超过一点 C 或ctypes代码,只要我知道我真正在寻找什么。

在 Windows 上,我认为我想要的功能是GetLastInputInfo,但这似乎没有被 pywin32 包装;我希望我错过了什么。

0 投票
5 回答
11088 浏览

python - 没有站点包的 Ubuntu 上的 Virtualenv

我最近在用 python 开发时一直在使用 virtualenv。我喜欢使用 --no-site-packages 选项的隔离开发环境的想法,但是在开发 PyGTK 应用程序时这样做可能有点棘手。PyGTK 模块默认安装在 Ubuntu 上,我想让 virtualenv(带有 --no-site-packages)知道位于系统其他位置的特定模块。

最好的方法是什么?还是我应该把它吸干并放弃 --no-site-packages 选项?

0 投票
2 回答
353 浏览

python - 如何使用 GTK 获取正在运行的应用程序列表?

如何获取正在运行的应用程序的列表?我指的是屏幕底部面板中的那些。