帮我生成一段使用QT label 添加右键菜单的代码
时间: 2024-02-09 16:08:52 浏览: 102
好的,以下是使用QT label 添加右键菜单的代码:
```cpp
// 在你的头文件中添加以下代码
#include <QLabel>
#include <QMenu>
#include <QAction>
class MyLabel : public QLabel
{
Q_OBJECT
public:
MyLabel(QWidget *parent = nullptr) : QLabel(parent) {}
protected:
void mousePressEvent(QMouseEvent *event) override {
if (event->button() == Qt::RightButton) {
QMenu menu(this);
QAction *action = menu.addAction("Hello");
connect(action, &QAction::triggered, this, &MyLabel::onActionClicked);
menu.exec(event->globalPos());
} else {
QLabel::mousePressEvent(event);
}
}
signals:
void actionClicked();
private slots:
void onActionClicked() {
emit actionClicked();
}
};
```
在使用的时候,你只需要使用 MyLabel 继承于 QLabel,并且使用右键点击时的信号 actionClicked 就可以了。
阅读全文