槽参数名用变量代替可以吗

gdmm919705 2018-04-11 06:43:02
QString name="test";
connect(ui->treeview,&QTreeView::doubleClicked,this,&MainWindow::name);

我试过编译不过,怎么才能实现这种字符串变量动态的槽名调用
...全文
1491 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
萧洛 2018-04-12
  • 打赏
  • 举报
回复
是槽函数,不是槽参数,你传个变量这是要干么。 好好去理解信号与槽。
jun_01 2018-04-12
  • 打赏
  • 举报
回复
可以用变量的,之前看qt的源代码里面有,要在函数之前搞一个类似模板的东东。 static QMetaObject::Connection connect(const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type = Qt::AutoConnection); #ifdef Q_QDOC template<typename PointerToMemberFunction> static QMetaObject::Connection connect(const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type = Qt::AutoConnection);
lu-xl 2018-04-12
  • 打赏
  • 举报
回复
信号槽,函数地址,绑定变量的话肯定会编译不过的吧
dext 2018-04-12
  • 打赏
  • 举报
回复
用老式的 SIGNAL SLOT可以实现。
一小猿 2018-04-11
  • 打赏
  • 举报
回复
写个槽函数,在该函数中进行变量赋值就可以了。编译错的原因是,connect函数的第4个参数应该是一个槽函数地址。

16,216

社区成员

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

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