首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >字符串的QSignalMapper问题

字符串的QSignalMapper问题
EN

Stack Overflow用户
提问于 2021-10-28 12:30:34
回答 1查看 45关注 0票数 0

我有一个关于QSignalMapper的问题。

我有一个简单的应用程序,一个计算器。我有像这样的东西,我点击按钮,我想要显示它。但是我有个问题,我不知道如何给一个按钮分配字符串。它只想处理整数。但我知道使用字符串是可能的。我需要在字符串上这样做,因为我想把它转换成双精度类型。我知道如何做其他我想做的事情,但是这个QSignalMapper要了我的命。

代码语言:javascript
复制
QSignalMapper *signalMapper = new QSignalMapper(this);
connect(ui->Button0, SIGNAL(clicked()),
            signalMapper, SLOT(map()));
    signalMapper->setMapping(ui->Button0, '0');

我试着用QString做点什么,但是没有用。

如果有任何帮助,我将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2021-10-28 12:47:32

我不认为你需要signalMapper来完成你正在寻找的东西。标准的connect()函数调用可能会起作用。

  1. Try using Qt5 syntax for creating the connection

  1. 如果您使用的是旧方法,请将connect函数调用更改为包含单元。

已编辑的- connect的示例语法

新方法。请注意,connect调用中不包括param数据类型。

connect( sender,&Sender::valueChanged,receiver,&Receiver::updateValue );

老方法

connect(发送器,信号( valueChanged( QString,QString ) ),接收器,插槽( updateValue( QString )) );

编辑-方法1 -->使用两个已知的C++ objs

创建发送两个插槽的信号函数接收所需的两个时隙QString

  • Connect QString

  • Create together

  • Handle as

已编辑-方法2 -->

QML

  • 声明信号(String str)使用现有的btn onClicked事件,并调用声明的signal

  • Handle通过插槽发出信号,并根据需要对文本

执行操作

已编辑-方法3 -->

1. See Qt documentation

  1. 使用lambda方法连接按钮点击和文本

connect(button,&QPushButton::clicked,this,text { clicked(text);});

希望这些方法中的一种能帮助你解决问题!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69754141

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档