问题标签 [libsigc++]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2331 浏览

c++ - 使用 lambda 函数处理 C++ libsigc++ 信号

我正在研究一些使用libsigc++进行信号(事件)的 C++ 代码。

我对 C++ 很陌生,我倾向于用 C# 来思考。我在 C# 中想要的等效代码类似于:

libsigc++ 教程很好地展示了如何将函数或成员绑定到信号,但我不想为这样一个应该真正私有封装在其客户端中的简单方法定义新的类级方法,在至少在我看来。

libsigc++ API 似乎支持 lambda 表达式,但我还没有找到任何示例来展示如何使用它们。有人可以帮我吗?请记住,我是 C++ 新手!

0 投票
2 回答
342 浏览

c++ - 如何为 sigc++ 编写包装类?

希望有一个中心位置来注册新信号、连接到信号等等。现在我想使用 sigc++。但是,我不知道如何为这个基于模板的库编写一个包装类。类似于:

我应该换什么???使地图通用,但仍然能够检索给定 id 的相应信号,并使用给定的参数列表发出信号——我也不知道如何处理。

0 投票
2 回答
1393 浏览

c++ - 在自己的命名空间中编译问题 sigc++/gtkmm

在项目中拥有我们自己的命名空间,我们希望包含一个使用 gtkmm 的 GUI。

在我尝试实现此方法之前,这一切都有效:

然后我们使用pkg-config --cflags gtkmm-2.4和编译 Config.cpp pkg-config --libs gtkmm-2.4

编译器最终抛出以下消息:

我们不确定问题是否真的与库 sigc++ 相关,或者它是否只是名称空间问题。当我们在单独的文件中编译没有命名空间的同一个文件时,它可以工作。

任何想法表示赞赏,问候

0 投票
1 回答
363 浏览

windows - Windows 上的 GTKmm(移植)- sigc::mem_fun 从 VC++ Express 2010 返回关于推导模板参数的错误

我正在尝试将我在 Linux 中开发的 GTKmm 应用程序移植到 Windows 中。我有一个包含多个选择的树视图,我需要将这些选择放入 std::vector 中。我使用的代码(在 Linux 中运行良好)是这样的:

然而,在 Windows 上,(Visual C++ Express 2010)我得到了很多这样的错误(重复了很多次):

就在 sigc::mem_fun 行。

知道如何解决这个问题吗?谷歌搜索没有任何用处:(。我使用的是 GTKmm 2.22(完整的 Windows 安装程序)。

0 投票
1 回答
271 浏览

compilation - GTKmm 交叉编译期间的 sigc++ 错误

我从这里编写了简单的 GTKmm 程序,并尝试使用 mingw 交叉编译器为 Windows 交叉编译它,但它失败了。我的输出在这里

当我只使用 GTK gtk.h 头文件编译简单程序时,它可以完美运行 - 编译(使用相同的命令)并在 Windows 上运行。

我正在运行 Fedora LXDE spin 并使用 GTKmm-2.4(来自 win)。

其他一切都很好——我可以为 UNIX GTK 和 GTKmm 工作,但为 Win 只提供 GTK。我的 PKG_CONFIG_LIBDIR 设置正确(一个用于 UNIX,一个用于 Win)

感谢您的任何建议 - 我也尝试从 Yum Extender 安装新的 libsigc++,但没有。

0 投票
1 回答
328 浏览

gtk - GTK activate_link 不适用于标签 uri?gtkmm Gtk::Label 和 signal_activate_link()?

我有一个处理函数:

我连接

我不明白为什么这不起作用。当我点击 Google 时,我可以看到它使用的不是我的默认 URI 处理程序。

0 投票
2 回答
540 浏览

gtk - 9 个按钮的单个处理程序(gtkmm-2,libsigc++)

我正在尝试制作一个带有 9 个切换按钮(3 行和 3 列)的小部件,用户应该能够选择其中一个。所以我写了9 个事件处理程序,它禁用了当前选择的按钮并存储了选择。

我只是想知道是否有任何方法可以将这 9 个切换按钮连接到一个处理程序,以及是否有办法知道哪个按钮发出了信号。类似于 QT 的东西

这将避免我的代码中出现大量重复。如标题中所述,我使用的是 gtkmm 版本 2,当然还有 sigc++。

谢谢你的建议

0 投票
1 回答
407 浏览

c++ - libsigc++ 并将一个函数作为信号连接到另一个函数作为插槽

这是第一次使用 libsigc++ 作为信号槽,我有两个工作正常的函数,我的场景:我写了一个布尔函数,如果套接字有数据用于接收,它返回 true:

所以,我写了一个从网络获取数据的函数:

我有 UDP 服务器并在构造函数中初始化所有内容,所以我需要告诉 isDataReady() 何时为真,readDatagram 本身执行。如何用 libsigc++ 编写代码?我读了他们的教程,但是它的教程并没有说 func as sig。

0 投票
2 回答
133 浏览

c++ - gtkmm 项目中如何包含 libsigc?

gtkmm 教程 hello world 示例中,该libsigc++库在helloword.cc文件中使用:

但是,libsigc++从未包含在此文件中,但仍然可以正常工作。sigc命名空间从何而来?

编辑 helloworld.h::

0 投票
3 回答
2615 浏览

c++ - 结合 sigc 库使用 lambda

我想在 gtk++ 中使用与 goocanvas 相关的 lambda 表达式。根据我的理解,这意味着我必须能够将我的 lambda 放入 sigc++ 函子中。

我尝试过这样的事情:

但这不会编译。

有没有机会让 sigc 直接与 lambdas 或更好的 gtkmm 一起工作而无需 sigc++ 中间体:-)