当前位置:首页 > 编程笔记 > 正文
已解决

qt 信号和槽,例子

来自网友在路上 152852提问 提问时间:2023-11-04 14:14:38阅读次数: 52

最佳答案 问答题库528位专家为你答疑解惑

 void MainWindow::onQPushBtnClicked_workArea(){Canvas* w = new Canvas(parCan);connect(w, SIGNAL(test()),this, SLOT(handleCanvasButton()));
}

这里想要把 Canvas 这个类的按钮点击事件和 MainWindow 类关联起来,实现Canvas 窗口点击按钮之后返回数值,MainWindow 的handleCanvasButton拿到数值,暂时没传递参数,但思路是这么个写法。

public:
signals:void test();

Canvas声明里写好信号
在执行完某函数onButtonClearClicked之后,发射信号:

void Canvas::onButtonDownClicked()//确认
{
// 一顿操作emit test();
}

此时,就会执行handleCanvasButton

void MainWindow::handleCanvasButton(){qDebug() << "[test] <handleCanvasButton>  test ";
}

那么就打印出了:[test] <handleCanvasButton> test


主要是区分 signals 和 slot 的写法,我本来以为这两个都跟函数一样没啥区别,没想到 signals 是这样的

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"qt 信号和槽,例子":http://eshow365.cn/6-31867-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!