什么是 gtkmm 等价于 g_signal_handlers_block_by_func()
What is the gtkmm equivalent to g_signal_handlers_block_by_func()?
我需要阻止我自己(间接)发出的信号。
在C中,可以使用g_signal_handlers_block_by_func()和姐妹函数unblock。
我可以在 C++ gtkmm 中使用什么?
我有一个gtkmm dlna播放器,它每秒向Gtk::HScale Widet发出更改后的信号,因为它(从外部)获得刚刚播放的歌曲的信号。然后我寻求的位置,就在当前的位置,这让歌曲倒退了一瞬间......
我想阻止我的搜索更改,因为我看到 C 程序用 g_signal_handlers_block_by_func 做到了这一点。
因为Ptomato问:
我从来没有意识到,连接方法有一个有价值的返回值:
因此,如果您像这样连接信号:
mywidget_connection = mywidget.signal_value_changed().connect(sigc::mem_fun(*this, &MyClass::on_value_changed ));
在我的情况下,我有两种方法可以更改值:1.)有人拉滑块:应该更新值并寻求2.) 计时器出现并告诉新位置:应该更新值但不搜索。
然后你可以像这样阻止/取消阻止:
mywidget_connection.block();
mywidget.set_value(new_value);
mywidget_connection.unblock();
这不会发出更改的信号。
相关文章:
- 使用模板进行堆栈实现; "name followed by :: must be a class or namespace"
- 将 std::thread by 值推送到列表中
- MATLAB to C++: csvread() not supported by MATLAB Coder
- Makefile by ocaml 和 cpp 扩展名
- 为什么我需要在以下示例中在 block_cache.h 之前包含 block_cache_key.h 和 block.h
- 什么 clang-format 相当于 rustfmt 的 indent_style=Block?
- C++ OpenCV Randu 函数抛出'Integer division by zero'
- 如何定义此"if block"中其他无效输入的值,以便在c ++中将字符串转换为对象?
- 从函数 BY VALUE 返回数组,返回结构时会发生什么?
- 如何在不受其他文件影响的情况下"by itself" Visual Studio 项目中运行C++文件?
- de if-Block 是什么意思
- MacPorts:"Error: clang-4.0 has been replaced by clang-8.0; please install that instead",但我已经安装了clang
- 为什么 c++ 向量没有"delete by index"?
- Eigen::MatrixXd.block assignment using a std::vector
- 这个给定的代码应该将给定的数字转换为尽可能滞后的数字,no.by 用 9.It 替换合适的数字是行不通的
- 传递类 by-value 时,调用方或被调用方是否调用析构函数
- By-ref 参数:这是 std::thread 和 std::bind 之间的不一致吗?
- 转到特定页面后,如何将滑动视图的当前索引设置为选项卡栏"by reference"的当前索引?
- base64 decode with openssl BIO block by block
- 如何在 C++ 中修复"/usr/bin/ld: warning: liblber-2.4.so.2, needed by //usr/lib/x86_64-linux-gnu/libcurl-gnu