qt LineEdit 建线程后获取文本内容程序崩溃

啊啊啊喝多 2020-03-06 10:14:41

求助~
qt LineEdit text获取文本,直接这样创建一个按钮来获取没问题
但是我创建了另一个线程后就会程序崩溃,没有任何提示。。
经测试问题就在cap->start()上,不用这条代码就没事,跪求大佬解答~
...全文
526 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
smile_sambery 2020-04-12
  • 打赏
  • 举报
回复
楼上说cap依附于ui线程,那么你在new 线程时加一个this试试
cjyyj 2020-03-09
  • 打赏
  • 举报
回复
引用 3 楼 啊啊啊喝多 的回复:
[quote=引用 2 楼 cjyyj的回复:]我是新手,前两天好像在一个视频里看到说子线程里操作ui对象会出错。

我整出来了,在线程run函数里面发射一个信号把print做槽就可以。。。
我发现在非ui线程里是不能调用ui的东西的
可是为什么会把我的button归位cap的线程。。我不是在ui下创建的么。。。搞不懂。。[/quote]
我在视频里看到说这个跟connect的第五个参数(连接方式)有关系
如果是直接连接,那么你在哪个线程发射信号,槽就运行在哪个线程
如果是队列连接,那么信号和槽就可以分属不同的线程,不过这种要依赖于事件循环。

下面是我看的那个视频教程,如果你只想看关于信号和槽的连接方式相关的内容,可以从 51:25 开始看
https://www.bilibili.com/video/av4056436?from=search&seid=16059050830503275436
非弋 2020-03-09
  • 打赏
  • 举报
回复
引用 3 楼 啊啊啊喝多 的回复:
[quote=引用 2 楼 cjyyj的回复:]我是新手,前两天好像在一个视频里看到说子线程里操作ui对象会出错。
我整出来了,在线程run函数里面发射一个信号把print做槽就可以。。。 我发现在非ui线程里是不能调用ui的东西的 可是为什么会把我的button归位cap的线程。。我不是在ui下创建的么。。。搞不懂。。[/quote] button不属于cap的线程,cap只是线程的管理者。 button、cap都依附于ui线程(哪里new的就依附于哪个线程) cap的run函数中执行的代码才是另一个线程执行的内容 参考:https://blog.csdn.net/lc250123/article/details/84101219
cjyyj 2020-03-08
  • 打赏
  • 举报
回复
我是新手,前两天好像在一个视频里看到说子线程里操作ui对象会出错。
啊啊啊喝多 2020-03-08
  • 打赏
  • 举报
回复
引用 2 楼 cjyyj的回复:
我是新手,前两天好像在一个视频里看到说子线程里操作ui对象会出错。
我整出来了,在线程run函数里面发射一个信号把print做槽就可以。。。 我发现在非ui线程里是不能调用ui的东西的 可是为什么会把我的button归位cap的线程。。我不是在ui下创建的么。。。搞不懂。。

16,211

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧