社区
Qt
帖子详情
变量只在槽函数中改变问题
liu4791
2019-08-08 09:36:48
我用信号与槽传递变量,结果发现在槽函数中qDebug后变量存在,但是在其他方法中使用变量时一直是0.
...全文
359
6
打赏
收藏
变量只在槽函数中改变问题
我用信号与槽传递变量,结果发现在槽函数中qDebug后变量存在,但是在其他方法中使用变量时一直是0.
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
诺水城子
2019-08-08
打赏
举报
回复
应该是值传递没处理正确
诺水城子
2019-08-08
打赏
举报
回复
代码提出来,可以帮你分析
诺水城子
2019-08-08
打赏
举报
回复
引用 3 楼 liu4791 的回复:
[quote=引用 2 楼 诺水城子 的回复:]
应该是值传递没处理正确
信号:
QObject::connect(this,SIGNAL(sendData(QVector<double>,QVector<QString>)),&m,SLOT(receiveData(QVector<double>,QVector<QString>)));
emit sendData(d_,st);
槽:
ui->edit_sigle->setText("请输入");//因为得到的赋值变量一直为空,所以想在界面测试一下,结果发现这段话没有在界面当中打印出来
cal_info=d;
st=m;
cal_info与st的值在槽函数中打印不为空,但是在其他方法中使用始终是空
[/quote]
你这看不出问题,你的cal_info,d两个变量是怎么定义的,是全局变量吗? 其他地方使用的时候是否已经赋值都是不确定的
st
wzscn
2019-08-08
打赏
举报
回复
QObject::connect(this,SIGNAL(sendData(QVector<double>&,QVector<QString>&)),&m,SLOT(receiveData(QVector<double>&,QVector<QString>&)));
信号槽参数要传引用才能正确传递数据。
liu4791
2019-08-08
打赏
举报
回复
引用 2 楼 诺水城子 的回复:
应该是值传递没处理正确
信号: QObject::connect(this,SIGNAL(sendData(QVector<double>,QVector<QString>)),&m,SLOT(receiveData(QVector<double>,QVector<QString>))); emit sendData(d_,st); 槽: ui->edit_sigle->setText("请输入");//因为得到的赋值变量一直为空,所以想在界面测试一下,结果发现这段话没有在界面当中打印出来 cal_info=d; st=m; cal_info与st的值在槽函数中打印不为空,但是在其他方法中使用始终是空
zhlwade1994
2022-01-14
举报
回复
@liu4791
楼主解决了吗?
Python知识点:如何在
函数
中
修改全局
变量
的值?
在
函数
之外定义的
变量
是全局
变量
。 全局
变量
可以在
函数
中
读取,但是默认情况下不能在
函数
的修改
变量
的值。 可以读取 下面的代码可以在
函数
中
成功打印粉丝数,因为
函数
可以读取全局
变量
的值: count = 30888 #全局
变量
,麦叔粉丝数 # 关注 def guanzhu(): print('麦叔的粉丝数是{}'.format(count)) # 取关 def quguan(): print('麦叔的粉丝数是{}'.format(count)) 不能修改 下面的代码会报错,因为
函数
默认不能修
C/C++ Qt 信号自定义
槽
函数
在Qt
中
,信号与
槽
机制是一种用于实现对象间通信的强大方式。这机制通过信号(signal)和
槽
(slot)的组合,使得对象能够以松散耦合的方式进行交互。信号是一种在特定事件发生时发出的通知,而
槽
则是响应信号的
函数
。信号与
槽
通过连接(connect)建立关联,当信号被发射时,关联的
槽
函数
将被调用。在老师和学生的例子
中
,老师可以发出一个信号,表示某个事件(例如,开始上课)。学生可以连接到这个信号的
槽
函数
中
,以执行相应的动作(例如,做好准备听课)。Qt允许用户创建自定义信号和
槽
,以适应特定的需求。
QT--
槽
函数
和控件篇一
QT 将信号和
槽
集成在QObject类
中
;发送者和接受者都必须继承这个类。Q_OBJECT宏是实现信号和
槽
机制、属性系统和元对象系统的关键。Q_OBJECT宏必须出现在每个使用信号和
槽
的类
中
,因为它为这些类提供了必要的元数据和功能。信号在类的“signal”部分声明,不需要实现。但是可以有参数,使得
槽
函数
可以根据传递的数据执行相应的操作。这种机制非常灵活,允许在信号发出时传递具体的上下文信息,给
槽
函数
提供足够的信息来完成其任务。
QT
槽
函数
运行过程
中
刷新界面
最近写一个QT程序的时候, 在一个
槽
函数
执行的过程
中
想要即时刷新界面, 但是
槽
函数
执行完毕之前好像是不会刷新画面的. 经过度娘的告知,找到了以下网址: https://jingyan.baidu.com/article/d5a880eb6d5f7f13f147ccff.html 完美地解决了
问题
. 防止网址内容日后丢失,因此拷贝出来: 为什么不会刷新界面呢,这是由于调用show函...
QT 的
槽
函数
可以接收到信号传过来的值,
槽
函数
里也可以运行其他代码,但不能使用ui对象,不能设置文本框
这是一个接收emit信号的
槽
,可接受的值却传不到文本框里,之后发现是这个
函数
不能使用ui对象,如何把ipstr的值传入linetext文本里呢?或者说如何使用发送过来的ipstr
变量
呢? debug输出的是正常的QString值 第三行和第四行的赋值文本框里都没有
改变
我用全局
变量
传到构造
函数
里也传不出来 希望大佬可以帮帮我 ...
Qt
16,816
社区成员
26,684
社区内容
发帖
与我相关
我的任务
Qt
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
复制链接
扫一扫
分享
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章