简述

前面章节我们分享过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

默认情况下,按钮的文本居中显示,可以通过text-align来设置对齐方式;menu-indicator则用来设置下拉三角的样式,如果不想显示三角图标,可以通过image: none来设置。

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

更多参考

最新文章

  1. TeXstudio 编写Latex论文的若干问题
  2. MySQL数据库监控
  3. SQL总结(一)基本查询
  4. jackson 实体转json 为NULL或者为空不参加序列化
  5. 后台管理UI推荐
  6. 【Linux】Zabbix + MPM + msmtp + mutt 监控MySQL + 邮件报警
  7. MaterialDesignLibrary
  8. oracle本月、上月、去年同月第一天最后一天
  9. 织梦CMS(dedecms)栏目属性及系统封面模板、列表模板、文章模板区别和路径设置解答
  10. C++ —— 构建开源的开发环境
  11. 读书笔记 - 设计模式(Head First)
  12. linux shell 远程执行命令
  13. 离线搭建Android Studio开发环境
  14. AWS 移动推送到iOS设备,Amazon Pinpoint
  15. Mac上连接nifi
  16. SLAM学习资料汇总
  17. Java知多少(62)线程同步
  18. html5游戏开发-简单tiger机
  19. Java通过POI读取Excel
  20. 深入理解Java Callable接口

热门文章

  1. 四、分布式 Git(未完待续)
  2. python web开发 编写web框架
  3. struts2实现图片验证码
  4. Unity 摄像头竖屏预览显示的问题
  5. Js原生实现抽奖功能
  6. 监控SQLserver计数器
  7. 高级函数-case
  8. 一起talk C栗子吧(第一百一十二回:C语言实例--线程同步概述)
  9. [TypeScript] Generic Functions, class, Type Inference and Generics
  10. leetCode(46):Kth Smallest Element in a BST