我想当鼠标悬停在按钮上时更改按钮的文本,
喜欢这个http://www.youtube.com/watch?v=l7vCf_lvUsY
如何在pygtk中鼠标悬停在按钮上时添加事件
我在文档中找不到这个
我试图将我的应用程序从 python2.7 pyGTK 切换到 Python3 和 pyGObject,并且很难将行附加到我的 Gtk.ListStore :/
这段代码:
#!/usr/bin/env python3
from gi.repository import Gtk
listStore = Gtk.ListStore(str)
itr = Gtk.TreeIter()
listStore.append(itr)
listStore.set_value(itr, 0, 'Its working')
Run Code Online (Sandbox Code Playgroud)
总是给我错误:
Traceback (most recent call last):
File "./test.py", line 7, in <module>
listStore.append(itr)
File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 1017, in append
return self._do_insert(-1, row)
File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 1008, in _do_insert
row, columns = self._convert_row(row)
File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 850, in _convert_row
if len(row) != n_columns:
TypeError: object of type 'TreeIter' has no len()
Run Code Online (Sandbox Code Playgroud)
到底是怎么回事?如何将新行追加到 Gtk.ListStore 中?
我不知道pygtkconnect()和connect_after()pygtk之间有什么区别。有人可以用示例代码解释这一点。
谢谢。
我想编写一个小应用程序,它接受选定数量的文件,并存储所有内容的路径以供将来使用。
基本上:
例如,从 Nautilus 中选择混合(图像、音频、视频)文件(在本例中),将它们拖放到此 GUI 中,并获取要写入列表中的每个元素的绝对路径。
程序本身根本不是问题,但我在最简单的任务上失败了,也许:创建一个 GUI(我选择了 GTK,但一切都会好起来,只需要完成工作)谁接受元素并存储他们。
我正在玩 Glade,但我什至不确定这是否是正确的选择。
有人可以帮助我构建这个 GUI 或指出一些资源吗?
我正在创建一个网络动画师(类似于nam,如果你之前使用过它).
基本上,我在GTK + DrawingArea上有节点表示为小点,我更新这些节点的位置并在循环中重绘DrawingArea.
生成的动画很快,但不流畅(有很多闪烁).这可能是因为我在每帧之前用一个纯色填充DrawingArea.
你觉得我怎么能最好地解决这个问题?我应该预先渲染帧到Pixbufs吗?有更好的解决方案吗?
这是我当前的绘图代码(使用PyGTK):
rect = self.drawing_area.get_allocation()
style = self.drawing_area.get_style()
pos = [n.position_at(self.t) for n in self.nodes]
self.drawing_area.window.draw_rectangle(style.bg_gc[gtk.STATE_NORMAL], True,
0, 0, rect.width, rect.height)
for p in pos:
self.drawing_area.window.draw_arc(style.fg_gc[gtk.STATE_NORMAL], True,
rect.width * (p.x / 2400.0) - NODE_SIZE/2,
rect.height * (p.y / 2400.0) - NODE_SIZE/2,
NODE_SIZE, NODE_SIZE,
0, 64 * 360)
Run Code Online (Sandbox Code Playgroud)
其中self.t是当前时间,它在循环中递增.
我正在使用pyGTK.我想布置一个大的元素,每边有2个较小的元素.出于美学原因,我希望2个较小的尺寸相同.实际上,它们相差几个像素,因此中间元素不会居中.
我尝试使用带有3个单元格的gtk.Table,但是uniform = True没有达到预期的效果.我尝试通过制作8个单元来搞乱它,然后让中心单元占用更多单元,但它不能很好地工作.有没有办法做到这一点?
当我尝试使用pyGtk中的超时调用函数时,我收到错误消息TypeError: second argument not callable.我想做的就是在超时内调用一个非常简单的函数.为了说明我的问题,我只是准备了函数do_nothing来说明我的问题.
def do_nothing(self):
return True
# Do interval checks of the timer
def timed_check(self, widget):
self.check_timing = gobject.timeout_add(500, self.do_nothing())
Run Code Online (Sandbox Code Playgroud)
这不起作用......
我究竟做错了什么?
我陷入了困境.我正在遵循以下教程(特别是6.4.2)
http://majorsilence.com/pygtk_audio_and_video_playback_gstreamer
我正在运行Python 2.7,PyGTK 2.24和GStreamer WinBuilds 10.7(主安装程序和SDK).
当我尝试编译程序时,我收到以下错误:
回溯(最近一次调用最后一次):文件"",第1行,在导入gst文件"C:\ Program Files\OSSBuild\GStreamer\v0.10.6\lib\site-packages\gst-0.10\gst__init __.py",line 193,来自_gst import*ImportError:DLL加载失败:找不到指定的模块.
如何导入gst模块?(记住你,我查了一下,pygst导入了.)
先感谢您!
我知道以前曾有人问过这个问题,但是这些问题通常都没有具体的细节,并且会给出类似“这取决于您要执行的操作...”之类的答案,因此此应用程序的主要要旨是它可以检索远程数据(例如文字)和对象(例如图片)。
由于PHP和python是两种编程语言,因此我感到很自在,我认为python更适合桌面gui应用程序。我正在创建桌面音乐播放器,下面是一些我要介绍的技术规格:
在流行的python gui工具包中,例如PyQt,PyGTK,Tkinter,wxPython,Pyjamas,PyGObject和PySide,它们非常适合我的应用程序,为什么?为什么其他都不很适合这些规格?哪个拥有良好的文档和活跃的社区?
我一直在尝试找到在Python GObject中与Gtk.TextView和一起使用Pango标记的方法,但似乎此功能仅适用于工具提示和标签。具有方法,但需要作为输入,并且必须具有指定的长度。Gtk.TextBufferGtk.TextBufferinsert_markupGtk.TextIter
这里的问题是我只想Gtk.TextView显示文本而不能编辑。因此,尽管我认为我了解您如何使用Gtk.TextTag可编辑/可选文本来实质性地更改其外观(甚至行为),但我不确定完全如何处理静态文本。对此类应用标记的最简单方法是什么?
例如:将“ <b>某些文本</ b>”转换为“ 某些文本 ”(或使用哪个标签)