C++Qt显示在头文件中定义QAction *action,在源文件中如何运用
时间: 2024-02-28 20:57:47 浏览: 71
在 C++/Qt 中,在头文件中定义 `QAction *action` 时,可以在源文件中通过以下方式来使用它:
```cpp
#include "myheader.h" // 包含头文件
void MyClass::myFunction()
{
// 使用头文件中定义的 action 变量
action->setEnabled(false);
// ... 其他操作
}
```
上面的代码中,`MyClass` 是包含 `myFunction()` 函数的类名,`action` 是在头文件中定义的 `QAction` 类型的指针变量名。通过 `action->setEnabled(false)` 来设置 `action` 的 `enabled` 属性为 `false`,在使用 `action` 前需要确保已经创建了该对象并初始化。
另外,为了避免头文件被重复包含,通常在头文件开头会使用预编译指令 `#ifndef`、`#define`、`#endif` 来防止多重包含:
```cpp
#ifndef MYHEADER_H
#define MYHEADER_H
#include <QAction>
class MyClass
{
public:
void myFunction();
private:
QAction *action; // 在头文件中定义 QAction 类型的指针变量
};
#endif // MYHEADER_H
```
这样可以确保该头文件只被编译一次,并且不会被重复定义变量和函数等内容。
阅读全文