其他分享
首页 > 其他分享> > QPushButton

QPushButton

作者:互联网

一、简述

  1. 按钮,界面中常用的控件,默认矩形。
  2. QPushButton的子类:QCommandLinkButton
  3. 父类:QAbstractButton。QAbstractButton的父类是QWidget
  4. 同样继承自QAbstractButton的还有QCheckBox, QPushButton, QRadioButton, and QToolButton
  5. 常用信号:左键点击(clicked)

二、常用功能

2.1名称匹配信号槽(vs+qt自动关联)


2.2外形相关

2.2.1长宽(大小)

设置按钮长宽两种方法,具体方法如下代码示例

  1 //方法1
  2 ui.btn_search->resize(50, 80);
  3 
  4 //方法2
  5 QSize btnSize;
  6 btnSize.setWidth(100);
  7 btnSize.setHeight(40);
  8 ui.btn_insert->resize(btnSize);


2.2.2矩形直角弧度(设置成为圆形/椭圆)

通过setStyleSheet接口,通过qss控制

  1 //border-radius:11px
  2 //border-radius:角弧度
  3 //11px:半径11px
  4 
  5 ui.btn_search->setStyleSheet("QPushButton{background:rgb(225,226,226);border-radius:11px;}");


2.2.3背景颜色


  1 //颜色名称设置:blue
  2 ui.btn_search->setStyleSheet("QPushButton{background:blue;border-radius:11px;}");
  3 
  4 //rgb颜色设置
  5 //最后一个透明度,透明度0-255值越小透明度越大
  6 ui.btn_insert->setStyleSheet("QPushButton{background:rgb(50,20,50,20);border-radius:11px;}");


2.2.4边框线

边框线类型:

  1 //border:边框线
  2 //2px:粗2px
  3 //线类型:slid
  4 //线颜色:#000000
  5 ui.btn_search->setStyleSheet("QPushButton{background:grey;border-radius:11px;border:2px solid #000000;}");
  6 
  7 ui.btn_insert->setStyleSheet("QPushButton{background:rgb(50,20,50,20);border-radius:11px;border:5px double #000000;}");


2.2.5鼠标悬浮时颜色


  1 
  2 //鼠标移动到button上变化:QPushButton:hover
  3 //背景:background-color
  4 ui.btn_search->setStyleSheet("QPushButton{background:grey;border-radius:11px;border:2px solid #000000;}""QPushButton:hover{background-color: #FFFF0000;}");
  5 
  6 ui.btn_insert->setStyleSheet("QPushButton{background:rgb(50,20,50,20);border-radius:11px;border:5px double #000000;}QPushButton:hover{background-color: #19a91c;}");


2.3右键菜单



2.4左键下拉菜单(类似QComboBox)


  1 QMenu* pMenu = ui.btn_search->menu();
  2 if (!pMenu)
  3 {
  4 	pMenu = new QMenu(this);
  5 	ui.btn_search->setMenu(pMenu);
  6 }
  7 QAction* action = new QAction();
  8 action->setText(QString::fromLocal8Bit("选项1"));
  9 
 10 //下拉菜单选择以后会有对勾勾选
 11 action->setCheckable(true);
 12 pMenu->addAction(action);


三、相关参考

  1. border线参数

标签:QPushButton,ui,background,btn,border,11px
来源: https://www.cnblogs.com/mehome/p/16074669.html