QT编程之简单的按钮下拉菜单

效果图如下


不太喜欢说太多,核心代码贴上

QPushButton *statusputton;
QMenu *statusmenu;
void Dialog::creatpushbotton()
{
statusputton=new QPushButton();
statusmenu =new QMenu();
QAction *online=new QAction(statusmenu);
QAction *chatme=new QAction(statusmenu);
QAction *busy=new QAction(statusmenu);
QAction *leave=new QAction(statusmenu);
QAction *steath=new QAction(statusmenu);
QAction *disturb=new QAction(statusmenu);

//设置
online->setIcon(icon:/img/online.png);
chatme->setIcon(icon:/img/chatme.png);
busy->setIcon(icon:/img/busy.png);
leave->setIcon(icon:/img/leave.png);
steath->setIcon(icon:/img/steath.png);
disturb->setIcon(icon:/img/disturb.png);

//
statusmenu->addAction(online);
statusmenu->addAction(chatme);
statusmenu->addAction(busy);
statusmenu->addAction(leave);
statusmenu->addAction(steath);
statusmenu->addAction(disturb);

statusputton->setMenu(statusmenu);

online->setText(“在线”);
chatme->setText(“Q我吧”);
busy->setText(“忙碌”);
leave->setText(“离开”);
steath->setText(“隐身”);
disturb->setText(“请勿打扰”);

statusputton->setStyleeSheet("QPushButton::menu-indicator{image:None;}");
connecr(statusmenu,SIGNAL(),this,SLOT(setstatus(QAction *)));
}

void Dialog::setstatus(QAction *action)
{
statusputton->setIcon(action->icon());

}






评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值