自定义信号槽
xiayesuifeng opened this issue · 21 comments
有自定义信号槽的示例吗。我看了eg下的示例,里面只有用自带的信号。但是自定义信号也需要用到
thanks, I will think about that.
say what you think about the usage if you want, thanks.
比如,不同widget间通讯就用到了信号槽,如果要传递自己的东西就要自定义。比如一个listwidget。如果自定义itemwidget,上面有个按钮,那就需要信号槽,为了传递itemwidget上的信息,就需要自定义了。
有道理,看上去需要加强自定义widget功能。现在没有的话好像能够自己实现,go的函数传递还是比较方便的。需要从这个使用过程中提取通用模式,看看怎么实现这个语法比较好。
看样子要把自己项目中的therecipe/qt替换成qt.go还需要一点时间才能替换
这个项目有这个功能吗?
有,但是不支持传递自定义类型,比如type struct。。。。
方便给个使用实例,或者链接?
为啥支持了一半功能?
therecipe的qt是使用cgo的。所以如果要用自定义信号槽。就必须要用他的qtmoc生成三个文件,其中一个就是cpp文件,我不知道是不是我写的不对,他也没提到自定义信号支不支持自定义类型。qtmoc自动生成的cpp文件中的定义他是直接把自定义类型的名字写上去,然后编译的时候就报错了。示例他的项目上有
qt.go中没有额外的命令在编译之前生成代码,可能需要其他方式实现。有空再考虑一下。
therecipe的qt编译官方是推荐用他的工具编译的,但是我不太喜欢,更喜欢直接go build
+1,我也是这么考虑的,不想再用额外的命令包一层了。
qt.go的好处是编译的时候完全不依赖Qt,可以完全go命令搞定
如果你的qt.go完全支持qt的东西了,我是完全支持你的项目的,上次我用那个库编译居然用了20分钟,还是单核编译
wow, qt.go的项目编译最多也就10,20秒的,我就是受不了那编译速度和内存使用才开的这种方式。
只是现在功能没那么全面,我在用这做一个小的IM界面,凑和用也还行,其中没有的功能可以用有一些其他实现方式。不过还是多谢提需求帮助改进。
你那在做什么程序?
我在做一个图形化安装arch的安装器.并且是遵守官方安装方式的。用包管理器联网安装。不喜欢manjaro那种,魔改太多
很好,archlinux就是安装过程不行。我平时用的也是archlinux。
不是不行,是对小白不友好
或许可以利用chan实现类似信号槽的功能
chan这种方式需要接收端阻塞读取,而接收端一般也得是UI线程,qt的事件循环与chan阻塞读取不容易整合到一起的。
你有没有考虑过你在go func...里除了信号槽还能如何优雅的通知ui线程更新ui
考虑过,碰到过,还没想到太好的方法
深度整合到qt的evevtloop也许可以。
go side custom signal/slot: #30 (comment)