qt如何将槽设置到另一个类上
时间: 2023-10-05 11:13:50 浏览: 49
如果你想将一个槽设置到另一个类上,你需要使用Qt的信号与槽机制。首先,你需要在目标类的头文件中声明一个信号,用于触发槽函数:
```
class TargetClass : public QObject
{
Q_OBJECT
signals:
void mySignal(int arg1, QString arg2);
public:
// ...
};
```
然后,在源文件中,你需要将槽函数声明为一个public槽,并且连接到目标类的信号上:
```
class SourceClass : public QObject
{
Q_OBJECT
public slots:
void mySlot(int arg1, QString arg2)
{
// Do something with arg1 and arg2...
}
public:
// ...
};
// ...
SourceClass* source = new SourceClass();
TargetClass* target = new TargetClass();
QObject::connect(target, &TargetClass::mySignal, source, &SourceClass::mySlot);
```
在上面的代码中,`QObject::connect()`函数将`TargetClass`的`mySignal`信号连接到`SourceClass`的`mySlot`槽函数。当`mySignal`信号发出时,`mySlot`槽函数将被触发。
相关推荐
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)