小编lib*_*rce的帖子

Glade还是没有林间空地:使用PyGtk的最佳方式是什么?

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

问题是:我不确定使用GTK和python的最佳方法是使用Glade构建接口.

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

python gtk pygtk glade gtk2

31
推荐指数
4
解决办法
7004
查看次数

如何在Windows上安装GTK + 3.0?

试图在Codeblocks Win7上设置GTK + 3.0.找不到如何做到这一点有些麻烦.

GTK网站将您引导至msys2.似乎曾经在GTK网站上直接下载了一个不再存在的一体化Windows软件包.

按照说明,安装和更新msys2,我看到没有引用GTK +,在已安装的文件或GTK指示您的mysys网站上.

就不必要和愚蠢地做一些应该简单的事情而言,它看起来非常具有线索性.也许我错过了一些东西,但它不应该像下载压缩文件夹,提取和设置路径一样简单吗?

按照这个速度,id可以更快地学习C++并使用Qt.

问题出现在标题中,我很惊讶我不得不问这个问题,似乎谷歌应该已经完全覆盖,但我发现的一切都与GTK网站上不再提供的下载有关.我找不到有关msys2和GTK + 3.0的信息.

提前致谢.

c windows gtk codeblocks gtk3

30
推荐指数
3
解决办法
4万
查看次数

我在哪里可以下载预编译的GTK + 3二进制文件或Windows安装程序?

我看过GTK + 3,我喜欢它.但遗憾的是,从源代码编译从未对我有用.Windows安装程序是否有适当的二进制文件甚至更好?

windows gtk gtk3

26
推荐指数
4
解决办法
3万
查看次数

GTK和PYGTK的区别

许多程序员以这种方式导入gtk和pygtk:

import gtk
import pygtk
Run Code Online (Sandbox Code Playgroud)

我只使用gtk创建了一个简单的程序,它可以工作:

import gtk

window = gtk.Window()
window.set_size_request(800, 700)
window.set_position(gtk.WIN_POS_CENTER)
window.connect("destroy", gtk.main_quit)

button = gtk.Button("Vai")
button.set_size_request(30, 35)
button.connect("clicked", naviga)
testo = gtk.Entry()

h = gtk.HBox()
h.pack_start(testo)
h.pack_start(button)

window.add(h)
window.show_all()
gtk.main()
Run Code Online (Sandbox Code Playgroud)

所以...问题是:GTK和PYGTK的区别是什么?

python gtk pygtk gtk2

18
推荐指数
2
解决办法
4388
查看次数

在Ubuntu上编译和链接GTK 3和C项目

我相信这不是一个重复的问题,在发布此问题之前,我已经看到了所有问题/答案.我想我在这里有不同的情况.

我使用Ubuntu 12.04并下载了GTK 2和3.我从GNOME的网站上复制了一个简单的GTK源代码.但是当我在终端中使用此命令时:

gcc `pkg-config --cflags --libs gtk+-3.0`  hello.c -o hello
Run Code Online (Sandbox Code Playgroud)

我明白了:

hello.c:(.text+0x17): undefined reference to `gtk_init'
hello.c:(.text+0x23): undefined reference to `gtk_window_new'
hello.c:(.text+0x47): undefined reference to `gtk_main_quit'
hello.c:(.text+0x5b): undefined reference to `g_signal_connect_data'
hello.c:(.text+0x67): undefined reference to `gtk_widget_show'
hello.c:(.text+0x6c): undefined reference to `gtk_main'
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

#include <gtk/gtk.h>

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

  gtk_init (&argc, &argv);

  window = gtk_window_new (GTK_WINDOW_TOPLEVEL);

  g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL);

  gtk_widget_show (window);

  gtk_main ();

  return 0;
}
Run Code Online (Sandbox Code Playgroud)

我不确定是否出现错误,因为我有两个版本的GTK +或者是什么.我是Ubuntu/Linux应用程序开发的新手.

c gtk gcc

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

基于GTK +的图表?

我希望能够使用GTK +制作折线图,但我不确定如何处理这个问题.有没有人得到任何提示或提示?

c++ gtk gtk2

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

如何在ubuntu上使用调试库

我目前的问题是libwebkitgtk-3.0-0,但我想这个问题很通用.

我的应用程序在webkit代码中崩溃了.我的假设是我们做了一些愚蠢的事情,想要找出什么.最简单的方法是设置断点或使用库的调试版本.

  1. 如何获得构建库的确切源代码?我在转储核心后得到堆栈跟踪,但行号gdb说与我在代码中看到的不匹配.换句话说,如果我安装libwebkitgtk-3.0-0,我想获得它的确切源代码.

  2. 我已经安装了webkit库的调试版本.这些调试版本是否具有与使用--enable-debug标志编译webkit相同的功能?webkit的调试版本基于WEBKIT_DEBUG环境变量启用日志记录,但即使使用库的调试版本,我也无法获得相同的日志记录.

  3. 如何使用我设法编译的调试版本?我设法在我的机器上编译webkit并尝试摆弄负载路径等.无论我做什么,我的应用程序都不会获取新的共享库 - 我可以根据用户代理签名来判断.有一次,我设法拿起了库,但是SSL停止了工作.GtkLauncher确实发生了同样的SSL问题.所以我在某个地方犯了错误.

谢谢你的指点.

gtk debugging ubuntu webkit

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

Glib信号 - 如何检查实例的处理程序是否已被阻止?

在阻止实例的处理程序之后g_signal_handler_block,是否可以检查处理程序是否仍然被阻塞或者同时被g_signal_handler_unblock解除阻塞,除了将状态存储在布尔变量中之外?

我希望这样的事情是可能的

g_signal_handler_block (selection, handler_id_row_selected);
if (g_signal_handler_is_blocked (selection, handler_id_row_selected))
  g_print ("is still blocked");
Run Code Online (Sandbox Code Playgroud)

但是一个"g_signal_handler_is_blocked"功能不存在.g_signal_handler_is_connected由于信号处理程序保持连接,因此函数返回TRUE,因此不是正确的函数.

我试过g_signal_handler_find (),因为有G_SIGNAL_MATCH_UNBLOCKED一种匹配类型,但它还没有工作.即使我已经重写了我的代码,我仍然想知道它是否可能,因为我相对经常使用阻塞/解除阻塞.

c gtk gobject glib

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

GTK2:g_thread_init已弃用

这是我第一次尝试制作一个线程软件.它将是基于Arch Linux的GTK2.

我按照这里的例子:

开罗的螺纹动画

使用底部的SIGALRM示例.

编译时收到以下警告:

warning: 'g_thread_init' is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:260) [-Wdeprecated-declarations]
if (!g_thread_supported ()){ g_thread_init(NULL); }
Run Code Online (Sandbox Code Playgroud)

我正试图找到关于我应该怎么做的信息.网上出现此警告的唯一事情是软件在编译时抛出相同错误的错误报告.很多报告看起来像他们说只是删除线.

我是否只删除该线并保持其余部分完好无损?或者有更好的方法来解决这个问题吗?

我正在使用触摸屏在Raspberry Pi Model B上运行信息娱乐系统,我想确保它像iPhone一样快感,因此我想在高优先级线程中运行图形和用户输入内容.

如果有人能指出我正确的方向这种类型的东西,将不胜感激.如有必要,任何在线文学作品都会有所帮助.

提前致谢.

c linux gtk multithreading gtk2

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

如何在没有MSYS2的Windows上构建GTK+3程序?

我想在 GTK+3 中编译代码。不使用 MSYS2 或 Visual Studio。我收到“未定义的引用”

首先,尝试使用官方页面上的本教程:https://www.gtk.org/download/windows.php,但使用 MSYS2 时一团糟;另外,我不想要类似linux的环境,也不想要类似unix的环境(更不用说Visual Studio)。

我下载了版本 2 的“多合一包”,设置了环境变量等所有内容。一切正常,代码已编译!(版本 2 中的代码)。然后我尝试更改为版本 3,从以下位置下载了所有合一包(64 位): http: //www.tarnyko.net/dl/gtk.htm

当然,环境变量被更新了,编译行中的库的版本也被更新了。该程序适用于版本 3,特别是官方网站中的第一个: https: //developer.gnome.org/gtk3/stable/gtk-getting-started.html。没有起作用。

然后,按照本教程进行操作:http://www.tarnyko.net/repo/gtk3_build_system/tutorial/gtk3_tutorial.htm

我用命令的结果重写了编译行:(pkg-config --cflags --libs gtk+-3.0如上面的教程所述)

版本 2(正确)的编译行是:

gcc -Wall -g test.c -o test -mms-bitfields -Ic:/gtk/include/gtk-2.0 -Ic:/gtk/lib/gtk-2.0/include -Ic:/gtk/include/atk-1.0 -Ic:/gtk/include/cairo -Ic:/gtk/include/gdk-pixbuf-2.0 -Ic:/gtk/include/pango-1.0 -Ic:/gtk/include/glib-2.0 -Ic:/gtk/lib/glib-2.0/include -Ic:/gtk/include -Ic:/gtk/include/freetype2 -Ic:/gtk/include/libpng14 -Lc:/gtk/lib -lgtk-win32-2.0 -lgdk-win32-2.0 -latk-1.0 -lgio-2.0 -lpangowin32-1.0 -lgdi32 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lintl
Run Code Online (Sandbox Code Playgroud)

版本 3(我要问的那个)的编译行是:

gcc -Wall -g iniciando.c -o iniciando -mms-bitfields …
Run Code Online (Sandbox Code Playgroud)

c windows gtk gtk3

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

标签 统计

gtk ×10

c ×5

gtk2 ×4

gtk3 ×3

windows ×3

pygtk ×2

python ×2

c++ ×1

codeblocks ×1

debugging ×1

gcc ×1

glade ×1

glib ×1

gobject ×1

linux ×1

multithreading ×1

ubuntu ×1

webkit ×1