qt自定义槽函数不起作用

本来可以实现的,不懂为什么不行了。贴代码:这样写voidUserinfo::on_closeBtn1_clicked()和connect(ui->closeBtn1,SI... 本来可以实现的,不懂为什么不行了。贴代码:
这样写 void Userinfo::on_closeBtn1_clicked() 和 connect(ui->closeBtn1,SIGNAL(clicked()),this,SLOT( closeBtn1_clicked() ));//closeBtn1_clicked()是新的槽函数................................这两种都不行
但是connect(ui->closeBtn1,SIGNAL(clicked()),this,SLOT( close() ));这样写又可以,折腾了好久都不懂为什么。新手求大神解答
展开
 我来答
nigoole
2016-09-25 · TA获得超过1369个赞
知道小有建树答主
回答量:675
采纳率:71%
帮助的人:451万
展开全部

你定义的这个函数

void closeBtn1_clicked() ;

一定要在前面添加Q_SLOT 宏表示这个是一个槽函数,否则系统无法执行关联操作。

或者在定义的时候加入下面标记也可以:

1、 Q_SLOT void closeBtn1_clicked() ;

或者

private slots:
void closeBtn1_clicked() ;
鲁步凝珍Qt
2016-09-25 · TA获得超过1396个赞
知道大有可为答主
回答量:1959
采纳率:50%
帮助的人:1281万
展开全部
源代码截个清晰图看看吧
追问
这是一个新的窗口,只有btn这个控件,代码也就这些,我在头文件也定义了槽函数,感觉这不是逻辑问题,是不是少了什么库。
我现在新增一个dialog界面,然后直接在main.cpp里show出来,也会报错。
LNK2019: 无法解析的外部符号 "public: virtual __thiscall

就是换到这台机子就有点问题
追答
可能是你没装好吧……删干净重装吧。我的Qt有时候也会抽风,平白无故的出错,同一个程序,在第一个工程项目里就一直失败,新开一个项目,粘贴过去就成功运行了…这才尴尬
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式