一、源码文件
//widget.cpp******************
widget.cpp
#include “widget.h”
#include “ui_widget.h”
#include
#include
#include
#include
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
ui->toolButton->setIcon(QIcon("../tool_button/User_48px.png"));//按钮绑定图片
ui->toolButton->setIconSize(QSize(200,200)); //设置图片大小
QMenu *menu = new QMenu(this); //新建菜单
//“../tool_button/weget.png”:图片路径;“nihao1”:菜单名称;“nihao1()”:执行函数
menu->addAction(QIcon("../tool_button/weget.png"),"nihao1",this,SLOT(nihao1()));
menu->addAction(QIcon("../tool_button/weget.png"),"nihao2",this,SLOT(nihao2()));
menu->addAction(QIcon("../tool_button/weget.png"),"nihao3",this,SLOT(nihao3()));
ui->toolButton->setPopupMode(QToolButton::InstantPopup); //点击模式
ui->toolButton->setMenu(menu); //下拉菜单
}
Widget::~Widget()
{
delete ui;
}
void Widget::nihao1()
{
qDebug() << “nihao1” <<endl;
}
void Widget::nihao2()
{
qDebug() << “nihao2” <<endl;
}
void Widget::nihao3()
{
qDebug() << “nihao3” <<endl;
}
/widget.cpp end*****/
/widget.h************/
#ifndef WIDGET_H
#define WIDGET_H
#include
namespace Ui {
class Widget;
}
class Widget : public QWidget
{
Q_OBJECT
public:
explicit Widget(QWidget *parent = nullptr);
~Widget();
private slots:
void on_toolButton_triggered(QAction *arg1);
void nihao1();
void nihao2();
void nihao3();
private:
Ui::Widget *ui;
};
#endif // WIDGET_H
/widget.h end*****/
运行结果