QTC++写在点击按钮后上方显示弹框里面是可选择的列表
时间: 2024-03-09 12:45:29 浏览: 88
在Qt C++中,你可以使用`QMenu`类来创建一个弹出菜单,该菜单用于在按钮点击后显示可选择的列表。下面是一个示例代码:
```cpp
#include <QApplication>
#include <QPushButton>
#include <QMenu>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QPushButton button("显示列表");
QMenu menu;
menu.addAction("项目1");
menu.addAction("项目2");
menu.addAction("项目3");
QObject::connect(&button, &QPushButton::clicked, [&](){
menu.exec(button.mapToGlobal(button.rect().bottomLeft()));
});
button.show();
return app.exec();
}
```
在这个例子中,我们创建了一个`QPushButton`对象和一个`QMenu`对象。然后,我们将三个`QAction`对象添加到`QMenu`中,这些对象表示可选择的项目。最后,我们使用`QObject::connect()`方法将按钮的`clicked`信号连接到一个lambda函数中,该函数用于在按钮点击时显示`QMenu`对象。在这个函数中,我们使用`exec()`方法在按钮的底部左侧显示菜单,并使用`mapToGlobal()`方法将其定位到正确的位置。
当你运行这个示例代码时,你会看到一个按钮,当你点击它时,会显示一个弹出菜单,在菜单中有三个可选择的项目。
阅读全文