QPushButton

2022/3/30 6:20:04

本文主要是介绍QPushButton,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、简述

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

二、常用功能

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

  • 返回值:void
  • 命名规则:on+ui文件pushbotton控件名称+clicked()
  • 示例:void on_pushbutton_clicked();


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边框线

边框线类型:

  • dashed |dot-dash| dot-dot-dash| dotted| double| groove| inset| outset| ridge| solid| none
  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线参数
    • https://doc.qt.io/qt-5/stylesheet-reference.html#list-of-property-types
    • https://doc.qt.io/archives/qt-4.8/stylesheet-reference.html#list-of-property-types


这篇关于QPushButton的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程