想实现点击按钮显示下拉菜单的效果:
//初始化下拉菜单
QMenu* menu = new QMenu(this);
actionIpSet = new QAction("按钮1", this);
actionAuthorize = new QAction("按钮2", this);
menu->addAction(actionIpSet);
menu->addAction(actionAuthorize);
menu->addSeparator();
menu->setWindowFlags(menu->windowFlags() | Qt::FramelessWindowHint);
menu->setAttribute(Qt::WA_TranslucentBackground);
menu->setStyleSheet(" QMenu {border-radius:5px;font-family:'Microsoft Yahei';font-size:14px;color:#fff;}"
" QMenu::item {height:30px; width:100px;padding-left:20px;border: 1px solid none;}"
"QMenu::item:selected {background-color:rgb(0,120,215);\
padding-left:20px;border: 1px solid rgb(65,173,255);}");
ui->pushButton_4->setMenu(menu);
connect(menu, &QMenu::triggered, this, &Widget::slot_action_triggered);
//.h
#include <QMenu>
private slots:
void slot_action_triggered(QAction *action);
//.cpp
void Widget::slot_action_triggered(QAction *action)
{
if(action == actionIpSet)
{
// qDebug() << "点击下拉菜单按钮1";
}
else if(action == actionAuthorize)
{
// qDebug() << "点击下拉菜单按钮2222";
}
}