标签: pygtk

pyGTK单选按钮

好吧,我将在前言中提到我是GTK Python新手,但我无法挖掘出我需要的信息.基本上我所拥有的是单选按钮列表,基于哪一个被检查,我需要将按钮连接到不同的功能.我尝试创建所有单选按钮,然后sget_active()在每个按钮上创建一个恶心的if/else块检查.问题是同一个按钮每次都返回true.有任何想法吗?

这是使用中的代码:

    #Radio Buttons Center
    self.updatePostRadioVBox = gtk.VBox(False, 0)
    self.updatePageRadio = gtk.RadioButton(None, "Updating Page")
    self.updatePostRadio = gtk.RadioButton(self.updatePageRadio, "Updating Blog Post")
    self.pageRadio = gtk.RadioButton(self.updatePageRadio, "New Page")
    self.blogRadio = gtk.RadioButton(self.updatePageRadio, "New Blog Post")
    self.addSpaceRadio = gtk.RadioButton(self.updatePageRadio, "Add New Space")
    self.removePageRadio = gtk.RadioButton(self.updatePageRadio, "Remove Page")
    self.removePostRadio = gtk.RadioButton(self.updatePageRadio, "Remove Blog Post")
    self.removeSpaceRadio = gtk.RadioButton(self.updatePageRadio, "Remove Space")


    #Now the buttons to direct us from here
    self.returnMainMenuButton = gtk.Button(" Main Menu ")
    self.returnMainMenuButton.connect("clicked", self.transToMain)
    self.contentManageHBoxBottom.pack_start(self.returnMainMenuButton, False, False, 30)
    self.contentProceedButton = gtk.Button(" …
Run Code Online (Sandbox Code Playgroud)

python gtk pygtk

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

GTK Twitter客户端

我正在学习Python和PyGTK.我正在尝试写一个Twitter客户端.哪个小部件最适合显示推文(时间轴).我可以使用textview轻松完成,但它不支持子窗口小部件来显示用户图像.

尝试使用TreeView,但它似乎是一个矫枉过正,太复杂.

我正在使用Glade

python gtk pygtk

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

即使小部件试图扩展,如何强制GTK窗口保持一定的宽度?

如何强制GTK窗口对象保持相同的大小,即使它内部的表尝试扩展?

在将子项连接到表时,我尝试使用gtk.SHRINK,但表中的TextView仍然继续扩展到超出可接受的宽度并随之扩展窗口.

python pygtk

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

学习Glade和PyGTK

我对pygtk很熟悉.我发现从代码构建GUI需要做很多工作.所以我转向格莱德.我正在尝试按照Glade和PyGTK的教程,以及它们如何协同工作,但是,我似乎找不到任何GTKBuilder格式的教程.

我发现一对夫妇的教程,像http://www.wmlug.org/pdf/Intro%20to%20PyGTK.pdf,http://www.linuxjournal.com/article/6586?page=0,2 这些帮助我进入Glade,但我不确定如何从那里开始,因为libglade已被弃用.

python gtk pygtk glade

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

urllib2冻结了GUI

我正在使用PyGTK开发我正在开发的小应用程序.通过代理使用URLlib2将冻结我的GUI.反正有没有阻止它?

实际完成工作的代码是与GUI分开的,所以我想可能正在使用subprocess来调用python文件.但是,如果我要将应用程序转换为exe文件,那该怎么办?

谢谢

python pygtk

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

在PyGTK/GtkBuilder中处理多个窗口

如何在一个GtkBuilder文件中存储多个不同的窗口/对话框,然后在不同的类中加载这些窗口(每个类对应一个不同的窗口)?例如,目前我正在做的事情如下:

def __init__(self):
    self.builder = gtk.Builder()
    self.builder.add_from_file('gtkbuilder.xml')
    self.welcome_dialog = self.builder.get_object('welcome_dialog')
    self.builder.connect_signals(self)
    self.welcome_dialog.show()
Run Code Online (Sandbox Code Playgroud)

这确实产生了一个功能很强的软件,但是它会发出各种各样的警告:

welcome_dialog.py:38: RuntimeWarning: missing handler 'on_contract_window_response'
  self.builder.connect_signals(self)
Run Code Online (Sandbox Code Playgroud)

对于我在Glade中为所有其他窗口定义的每个信号处理程序.我想我想做的就是连接这个单一窗口/对话框的信号并忽略其他一切,但我不知道该怎么做.或者也许我正在做一些可怕的错误,我应该将每个窗口拆分成不同的GtkBuilder文件?或者在相同(初始)时间为每个可能的窗口连接信号?

python pygtk glade gtkbuilder

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

在滚动窗口中放置绘图区域时,防止滚动条显示

我正在使用Python和pyGTK开发一个项目.我有一个窗口,其唯一目的是显示图像.除非图像太大而不适合屏幕,否则默认情况下窗口不应显示滚动条.
所以我做的是这样的:

window = gtk.Window()
window.resize(image.size[0], image.size[1])

scrolled = gtk.ScrolledWindow()
scrolled.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
scrolled.set_shadow_type(gtk.SHADOW_NONE)

area = gtk.DrawingArea()
area.set_size_request(image.size[0], image.size[1])

window.add(scrolled)
scrolled.add_with_viewport(area)
area.show()
scrolled.show()
window.show()
Run Code Online (Sandbox Code Playgroud)

但它不太有效.生成的窗口有点太小,因此滚动条显示出来.
为了工作,我必须将第二行改为:

window.resize(image.size[0] + 2, image.size[1] + 2)
Run Code Online (Sandbox Code Playgroud)

但这很丑陋,并不适用于所有系统.在我的Windows框中,我必须使用+ 3.

我该怎么做才能确保窗口足够大以容纳图像?

python pygtk scrolledwindow

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

Python open()模式和文件编写

我正在学习PyGTK,我正在制作一个文本编辑器(这似乎是pygtk的hello世界:))无论如何,我有一个"保存"功能,将TextBuffer写入文件.看起来像

try:
    f = open(self.working_file_path, "rw+")
    buff = self._get_buffer()
    f.write(self._get_text())
    #update modified flag
    buff.set_modified(False)
    f.close()

except IOError as e:
    print "File Doesnt Exist so bring up Save As..."
    ......
Run Code Online (Sandbox Code Playgroud)

基本上,如果文件存在,请将缓冲区写入其中,如果没有调出另存为对话框.

我的问题是:"更新"文件的最佳方法是什么.我似乎只能附加到文件的末尾.我尝试过各种文件模式,但我确定我错过了一些东西.

提前致谢!

python pygtk

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

如何使用PyGTK事件处理程序手动触发事件?

在将事件连接到函数之后,我想要一种手动触发事件的方法(事件实际上没有发生).我正在寻找像jQuery的.trigger()函数.

谢谢

python events triggers pygtk

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

PyGTK剪贴板set_text的效果仅在进程运行时保持不变

我有以下脚本clip-test.py:

#!/usr/bin/python

import gtk

gtk.Clipboard().set_text("exciting clipboard contents")
gtk.Clipboard().set_can_store(None) # not sure if these last two lines are useful
gtk.Clipboard().store()
Run Code Online (Sandbox Code Playgroud)

当我这样运行时:

python clip-test.py
Run Code Online (Sandbox Code Playgroud)

它不起作用.剪贴板未更改.我们可以通过以交互模式运行它并且不让流程完成来阐明该问题:

python -i clip-test.py
Run Code Online (Sandbox Code Playgroud)

在离开交互模式之前,尝试粘贴到某个地方.剪贴板已更改; 有用.关闭python后,剪贴板将返回之前的状态.

一个想法是,这与默认情况下代码访问的剪贴板displayselection剪贴板有关,但我尝试改变这些参数,但我仍然无法使其工作.

我正在使用Python 2.7.3和python-gtk2 2.24.0-3build1,运行Kubuntu 13.04.

是什么赋予了?

python gtk clipboard pygtk

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

标签 统计

pygtk ×10

python ×10

gtk ×4

glade ×2

clipboard ×1

events ×1

gtkbuilder ×1

scrolledwindow ×1

triggers ×1