标签: pygtk

Python/Glade/PyGTK - 检查复选框是否处于活动状态

在浏览了 PyGTK 库和教程之后,我还没有找到我正在寻找的确切答案,或者我只是做错了什么......

无论如何,我正在学习 PyGTK 和 Glade,我正在编写一个简单的下载器应用程序的脚本。应用程序的 GUI 有三个复选框,然后是一个提交按钮。

我想要做的是在按下提交按钮后获取复选框的状态,这样我就可以继续我的脚本以根据复选框是真还是假来下载应用程序。

这是我到目前为止所拥有的。(仍处于早期阶段并从错误中学习)

Python脚本:

import sys
try:
    import pygtk
    pygtk.require("2.0")
except:
    pass
try:
    import gtk
    import gtk.glade
except:
    sys.exit(1)


class GladeTest:

    def __init__(self):

        #Set the Glade file
            filename = "gui.glade"
            builder = gtk.Builder()
            builder.add_from_file(filename)
            builder.connect_signals(self)

        #Create our dictionay and connect it
            dic = { "btnSubmit_clicked" : self.btnSubmit_clicked,
            "chkboxDropbox_toggled" : self.chkboxDropbox_toggled,
            "MainWindow_destroy" : gtk.main_quit }

        def btnSubmit_clicked(self, widget):
            self.button = gtk.ToggleButton("chkboxDropbox_toggled")
            status = self.button.get_active()
            print status

        def chkboxDropbox_toggled(self, widget):
            print ""




if __name__ …
Run Code Online (Sandbox Code Playgroud)

python checkbox pygtk glade

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

GtkLabel对齐和填充

我在Glade中有GtkLabel,X对齐设置为0,X pad设置为5,Expand设置为No.

标签位于水平框下方,并带有旋转按钮和另一个标签.

问题是X pad适用于左侧和右侧.

我希望它只适用于右侧.

我究竟做错了什么?

python pygtk glade

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

导入WebKit会导致应用程序在启动时失败.

我正在使用Quickly创建一个应用程序,我想在我的窗口中添加一个Webkit小部件.我认为"应该足够容易",但一如既往,它可能不那么容易.

从我添加的那一刻起import webkit,应用程序无法启动.

robin@RobinJ:~/Ubuntu One/Python/gtkreddit$ quickly run
/usr/lib/python2.7/dist-packages/gobject/constants.py:24: Warning: g_boxed_type_register_static: assertion `g_type_from_name (name) == 0' failed
  import gobject._gobject
/usr/lib/python2.7/dist-packages/gtk-2.0/gtk/__init__.py:40: Warning: specified class size for type `PyGtkGenericCellRenderer' is smaller than the parent type's `GtkCellRenderer' class size
  from gtk import _gtk
/usr/lib/python2.7/dist-packages/gtk-2.0/gtk/__init__.py:40: Warning: g_type_get_qdata: assertion `node != NULL' failed
  from gtk import _gtk
Run Code Online (Sandbox Code Playgroud)

整个源代码可以在这里找到.我正在谈论的具体文件就是这个.

python gtk pygtk webkit canonical-quickly

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

Python - 如何通知一个线程已完成另一个类?

我正在使用线程进行定时计数(并在 PyGTK 窗口中刷新内容)。它位于一个可以改变其范围的循环中。在每次迭代结束时,计数器增加并打印数据。我想要做的是在每个滴答声结束时在另一个类中接收一个 bang 及其数据。

解决方案可能与套接字有关,但到目前为止我正在努力避免这种情况,那么实现这一目标的最佳方法是什么?

python multithreading pygtk

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

使用GTK窗口并等待响应

我在另一个应用程序中使用PyGTK接受用户输入。我正在构建一个包含很多“检查按钮”的窗口,根据响应,我需要继续。

问题是在python中,当我调用window函数及其操作时,程序是否不等待window的响应?如何使它能够等待来自窗口的响应?

我也不知道是否可以使用对话框而不是窗口,因为我尝试向对话框中添加检查按钮,但效果不佳。如果不适合使用窗口,那么有人可以帮助我进行对话吗?

谢谢你的帮助。

python gtk pygtk dialog window

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

Python:对 GTK 树视图进行排序

我不明白gtk.Treeview()列表模型是如何工作的:

据我所知,我必须将 lismodel 包装在 a 中,gtk.TreeModelSort()但是当我这样做时,我无法再访问 listmodel 方法了..

    lm = gtk.ListStore(object)
    listmodel = gtk.TreeModelSort(lm)
    for f in files:
        listmodel.append([f])
    return listmodel
Run Code Online (Sandbox Code Playgroud)

AttributeError: 'gtk.TreeModelSort' 对象没有属性 'append'

我正在使用这个示例源代码):如何使表格在每一列上都可排序?

python gtk pygtk

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

gtk3+ 和 python rgba 转换为十六进制

我使用gtk3我发现它使用RGBA用于表现颜色,但(红,绿,蓝,alpha)非整间0-255但之间浮动点数0-1.0,所以我不知道如何从转换rgba 到十六进制,反之亦然

我试过这段代码,但它似乎不起作用:

def convert_to_hex(rgba_color) :
red = str(hex(int(rgba_color.red*255)))[2:].capitalize()
green = str(hex(int(rgba_color.green*255)))[2:].capitalize()
blue = str(hex(int(rgba_color.blue*255)))[2:].capitalize()

return '0x' + red + green + blue
Run Code Online (Sandbox Code Playgroud)

python pygtk python-3.x gtk3

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

添加不同长度的列到gtk TreeStore(Treeview)

我想使用gtk Treeview显示两级分层数据(使用模型gtk Treestore)

数据采用以下格式:

**First(parent)** level
col_a, col_b, col_c, col_d, col_e
val_a, val_b, val_c, val_d, val_e

**Second(child)** level
col_x, col_y, col_z
val_x, val_y, val_z
Run Code Online (Sandbox Code Playgroud)

数据层次结构如下:

> val_a1, val_b1, val_c1, val_d1, val_e1
       val_x1, val_y1, val_z1
       val_x2, val_y2, val_z2

> val_a2, val_b2, val_c2, val_s2, val_e2
       val_x3, val_y3, val_z3

> val_a3, val_b3, val_c3, val_d3, val_e3

> val_a4, val_b4, val_c4, val_d4, val_e4
       val_x4, val_y4, val_z4
       val_x5, val_y5, val_z5
Run Code Online (Sandbox Code Playgroud)

以下pygtk代码是我尝试过的(修改了gtk教程中的代码)

import pygtk
pygtk.require('2.0')
import gtk

data = [
    [('val_a1', 'val_b1', 'val_c1', 'val_d1', 'val_e1'), ('val_x1', 'val_y1', …
Run Code Online (Sandbox Code Playgroud)

python gtk treeview pygtk

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

在 PyGtk3 中从 svg 创建 pixbuf 作为字符串

假设我在内存中读取了一个 svg 文件。操作字符串(更改颜色、渐变等)后,我不想将(现已修改的)svg“文件”包含在使用 PyGTK3 编写的图形用户界面中。最简单的方法是将 svg 再次保存为文件并保存为类似的文件

Gtk.Image.new_from_file(modified_svg)
Run Code Online (Sandbox Code Playgroud)

由于我不想经常这样做,因此有很多不必要的数据从慢速硬盘写入/读取。有没有办法直接从内存中的 svg 字符串创建图像?(我想到了类似于 pixbuf 的东西,但我找不到东西)

python gtk svg pygtk

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

使用 GTK3 和 pycairo 的 Python3 动画

我正在尝试使用 GTK3 库和 pycairo 在 python3 中制作一些简单的动画。

我一直试图找到简单的单文件示例但无济于事,但我确信它是可行的。

我找到的最接近的是:https://cairographics.org/cookbook/animationrotation/,但这是在 python2 中,库/依赖项完全不同。

有没有人能指点我一个体面的来源,或对上述代码的修改?

谢谢!

gtk pygtk cairo pycairo python-3.x

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