小编lib*_*rce的帖子

在PyGTK中,显示PNG文件的简单方法是什么?

以下PyGTK代码在窗口中显示PNG文件.

是否有更简单或更好的方式显示PNG文件,例如,使用gtk.DrawingArea?例如,如何调整文件大小?

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

class Gui:

    def __init__(self):

        # Create an Image object for a PNG file.
        file_name = "file.png"
        pixbuf = gtk.gdk.pixbuf_new_from_file(file_name)
        pixmap, mask = pixbuf.render_pixmap_and_mask()
        image = gtk.Image()
        image.set_from_pixmap(pixmap, mask)

        # Create a window.
        window = gtk.Window()
        window.set_title("PNG file")
        window.connect("destroy", gtk.main_quit)

        # Show the PNG file in the window.
        window.add(image)
        window.show_all()

if __name__ == "__main__":
    Gui()
    gtk.main()
Run Code Online (Sandbox Code Playgroud)

致谢:我使用网络上其他人的代码创建了上述代码.

python gtk png pygtk gtk2

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

如何在GTK中获取按钮的文本?

我正在开发一个应用程序,当单击按钮时,该应用程序具有数字小键盘和文本框,文本框显示该数字.我需要为每个按钮编写一个函数吗?或者您可以将文本和小部件作为参数传递?

#include <stdio.h>
#include <stdlib.h>
#include <gtk/gtk.h>

void callback( GtkWidget *widget,
               gpointer   data )
{
   gtk_entry_append_text(entry, text);
}

void create_button(GtkWidget* table,GtkWidget* entry,
                    int start_r,int end_r,
                    int start_c,int end_c,
                    char* label)
{
    GtkWidget *button;

    button = gtk_button_new_with_label (label);
    g_object_set_data( G_OBJECT( button ),
                           "char", (gpointer)label );
    g_signal_connect (button, "clicked",
              G_CALLBACK (callback), entry);

    gtk_table_attach_defaults (GTK_TABLE(table), button, start_c, end_c, start_r, end_r);

    gtk_widget_show (button);

}

gint delete_event( GtkWidget *widget,
                   GdkEvent  *event,
                   gpointer   data )
{
    gtk_main_quit ();
    return(FALSE);
}

int main(int argc,char* argv[]){

    GtkWidget *window; …
Run Code Online (Sandbox Code Playgroud)

c gtk

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

GTK +(2.0) - 在GtkEntry上"点击"了信号?

我用GTK + 2.0测试了一些信号.我正在寻找一种方法来点击GtkEntry时发出信号.

if (widgets_info[i].action & IG_INPUT)
    {
      widget->frame[i] = gtk_entry_new_with_max_length(MAX_INPUT_LENGTH);
      gtk_entry_set_text(widget->frame[i], widgets_info[i].text);
      catch_signal(widget->frame[i], MY_SIGNAL, &change_entry, widget);
    }
Run Code Online (Sandbox Code Playgroud)

我的条目(widgets_info[i].text)中有一个预先选择的文本,如果用户单击我的GtkEntry,我希望此文本消失.

有人知道这个信号是什么吗?

(对不起我的英语不好)

gtk signals click gtk2 gtkentry

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

覆盖GTK工具栏/小部件

我正在使用GTK + 2.0和Cairo在C中编写自定义应用程序.仅用于学习目的(如果成功,然后用于部署),我希望重新创建类似于覆盖工具栏/窗口小部件(我很抱歉,如果术语不正确),当鼠标移动到窗口上的给定区域时出现,当鼠标移开时消失.正如我想象的那样,工具栏应该出现在现有小部件的顶部,而不会替换它们或以任何方式改变小部件包装.有可能完成吗?如果是,请您指出相关的教程/示例和/或概述一种方法来做同样的事情?提前致谢.

gtk overlay widget gtk2 cairo

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

如何在Windows上分发GTK +应用程序?

我已经在Windows上通过MSYS和MinGW安装了GTK +(特别是GTK3)。现在,我想将GTK + dll复制到我的应用程序目录中,这样它就可以在没有全局安装GTK +的计算机上运行。GTK +运行需要哪些dll?

windows gtk gtk3 msys2

4
推荐指数
2
解决办法
4496
查看次数

如何使对话框后面的窗口不可点击?

我想设置阻止对话框后面的窗口,以防止用户在对话框运行时单击或修改窗口的任何内容,并且当用户关闭对话框时设置解锁对话框后面的窗口。

import gtk;
window = gtk.Window();
window.set_title("Window Behind Dialog");
window.set_default_size(426,240);
textentry = gtk.TextView();
window.add(textentry);
window.show_all();
dialog = gtk.Window();
dialog.set_title("Dialog");
dialog.set_default_size(256,144);
label = gtk.Label("Unlock the window behind when this dialog get close");
dialog.add(label);
dialog.show_all();
gtk.main();
Run Code Online (Sandbox Code Playgroud)

在 Gtk 或 PyGtk 中使用哪种方法?例如:

window.set_disabled_to_all_events();
Run Code Online (Sandbox Code Playgroud)

或者

window.set_disabled();
Run Code Online (Sandbox Code Playgroud)

或者

window.events_disabled(True);
Run Code Online (Sandbox Code Playgroud)

或者

window.set_blocked(True);
Run Code Online (Sandbox Code Playgroud)

python gtk pygtk

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

Cairo.ImageSurface 到 Gdk.Pixbuf?

试图从 ImageSurface 创建 Pixbuf,但我得到的只是黑色像素。有任何想法吗?

Cairo.ImageSurface surface = mysurface;
int w = surface.Width;
int h = surface.Height;
Gdk.Pixmap pixmap = new Gdk.Pixmap(null, w, h, 24);
using (Cairo.Context cr = Gdk.CairoHelper.Create(pixmap)) {
     cr.Operator = Cairo.Operator.Source;
     cr.SetSource(surface);
     cr.Paint();
}
_pixbuf = Gdk.Pixbuf.FromDrawable(pixmap, Gdk.Colormap.System, 0, 0, 0, 0, w, h);
Run Code Online (Sandbox Code Playgroud)

gtk gtk2 cairo gdk pixbuf

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

在Windows中安装boost_1_60_0 .zip

我已经为Windows 7执行了以下步骤

Boost link http://www.boost.org/doc/libs/1_49_0/libs/python/doc/

1. Downloaded boost_1_60_0 .zip

2. cd \boost_1_60_0\tools\build

3. Ran below command in command prompt

bootstrap.bat gcc        
bjam --toolset=gcc "--prefix=C:\DestinationFolder" install


Now i have b2.exe & bjam.exe in C:\DestinationFolder\bin
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮助我做下一步该怎么做,因为我无法进一步处理

c++ windows boost

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

GTK中的启动画面

我是GTK的新手,我正在使用它在C中创建UI.我创建了一个启动画面,我可以在指定的秒后使用该功能关闭它g_timeout_add(100, function_to_call, NULL);.Splash屏幕效果很好.但问题是当我进一步扩展我的程序时(即)关闭启动画面后我想要另一个窗口自动显示,它不会发生.两个窗户一起打开.这是我的计划.

gboolean function_to_call(gpointer data){
    gtk_quit_main();
    return(FALSE);
}
int main (int argc, char *argv[]){
    GtkWidget *window, *image, *another_window;
    gtk_init(&argc, &argv);
    .
    .
    .
    .
    .
    .
    .
    g_timeout_add (100, function_to_call, NULL);
    gtk_main ();
    /*if my program is till this, splash screen closes after 1 sec . But when i try
     *to define another window from here onwards and call gtk_widget_show() and gtk_main() 
     *again for another_ window, window and another_window both open together and window  
     *doesn't close after …
Run Code Online (Sandbox Code Playgroud)

c gtk

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

Gtk.TreeView 中的 Gtk.Entry (CellRenderer)

我想将一个Gtk.Entry(已Gtk.EntryCompletion连接)打包到Gtk.TreeView. 有谁知道如何做到这一点?(我只需要对表格视图中的文本条目进行输入完成。)

Do I perhaps need to subclass Gtk.CellRenderer or Gtk.CellRendererText, and override the start_editing method (or similar)? I can find examples of subclassing Gtk.CellRenderer, but not modifying the editable behaviour. I can't find the source-code for the Gtk.CellRendererText class, either.

I'm using Gobject Introspection (i.e. from gi.repository import Gio, Gtk, GLib, Gdk).

python gtk gobject pygobject gobject-introspection

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

标签 统计

gtk ×9

gtk2 ×4

python ×3

c ×2

cairo ×2

pygtk ×2

windows ×2

boost ×1

c++ ×1

click ×1

gdk ×1

gobject ×1

gobject-introspection ×1

gtk3 ×1

gtkentry ×1

msys2 ×1

overlay ×1

pixbuf ×1

png ×1

pygobject ×1

signals ×1

widget ×1