天天看点

Qt 之 QPushButton

简述

前面章节我们分享过Qt之QAbstractButton,讲解了QAbstractButton的基本用法,本节着重讲解QPushButton。

关于QPushButton的介绍,主要涉及setAutoDefault、setDefault、setMenu,前两个比较复杂,牵扯源码分析,这里暂不讲解,后面我会专门写一篇文章来说明,下面我们主要介绍按钮如何设置菜单。

| 版权声明:一去、二三里,未经博主允许不得转载。

常用状态

效果

源码

// 菜单
QMenu *pMenu = new QMenu(this);
pMenu->addAction(QString::fromLocal8Bit("设置"));
pMenu->addAction(QString::fromLocal8Bit("版本检测"));
pMenu->addSeparator();
pMenu->addAction(QString::fromLocal8Bit("关于我们"));
pMenu->addAction(QString::fromLocal8Bit("退出"));

// 按钮
QPushButton *pButton = new QPushButton(this);
pButton->setText(QString::fromLocal8Bit("主菜单"));

// 设置菜单
pButton->setMenu(pMenu);      

QSS

QPushButton {
        /* 水平居左、垂直居中 */
        text-align: left center;
        padding-left:3px;
}
QPushButton::menu-indicator {
        subcontrol-position: right center;
        subcontrol-origin: padding;
        padding-right:3px;
        /* image: none; */
}      

更多参考

  • Qt之QAbstractButton
  • Qt之QToolButton
  • Qt之QCheckBox
  • Qt之QRadioButton

继续阅读