1.QPushButton详解
QPushButton是Qt的基础控件,按钮类,用于各种点击操作
2.QPushButton的信号
Clicked信号
当鼠标左键被按下然后释放时,或者快捷键被释放时触发该信号
QPushButton * btn = new QPushButton(this);
//clicked是QPushButton的信号,getClicked是自定义的槽函数
connect(btn,&QPushButton::clicked,this,&Mainwindow::getClicked);
Pressed信号
当鼠标指针在按钮上并按下左键时触发该信号
Released信号
当鼠标左键被释放时触发该信号
Toggled信号
按钮的状态发生变化时发出信号,并将当前状态传递给外界
3.QPushButton构造
QPushButton有三种构造函数,它们分别是:
指定一个父类
QPushButton(QWidget *parent = nullptr)
指定一个文本,一个父类
QPushButton(const QString &text, QWidget *parent = nullptr)
指定一个图标,一个文本,一个父类
QPushButton(const QIcon &icon, const QString &text, QWidget *parent = nullptr)
4.QPushButton的UI操作
QPushButton * btn = new QPushButton(this);
//设置是否可选 true可选,false不可选
btn->setEnabled(true);
//设置文本
btn->setText("这是一个按钮");
//以上是最常用的,其他操作可在UI设计器中自寻查找,本文不在过多介绍
5.QPushButton的QSS效果
QPushButton {
/* 前景色 */
color:red;
/* 背景色 */
background-color:rgb(30,75,10);
/* 边框风格 */
border-style:outset;
/* 边框宽度 */
border-width:2px;
/* 边框颜色 */
border-color:rgb(10,45,110);
/* 边框倒角 */
border-radius:10px;
/* 字体 */
font:bold 14px;
/* 控件最小宽度 */
min-width:100px;
/* 控件最小高度 */
min-height:20px;
/* 内边距 */
padding:4px;
}
/* 鼠标按下时的效果 */
QPushButton#pushButton:pressed {
/* 改变背景色 */
background-color:rgb(40,85,20);
/* 改变边框风格 */
border-style:inset;
/* 使文字有一点移动 */
padding-left:6px;
padding-top:6px;
}
/* 按钮样式 */
QPushButton:flat {
border:2px solid red;
}
/* 当按钮打开菜单时:ui->pushButton->setMenu(btnMenu) */
QPushButton:open{
background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 #dadbde, stop: 1 #f6f7fa);
}
/* 子选择器:菜单 */
QPushButton::menu-indicator {
image:url(:/images/close.png);
/* 去掉小三角号
image:none;*/
/* 绘制subcontrol 的参考矩形的位置 */
subcontrol-origin:padding;
/* 小三角的位置 */
subcontrol-position:bottom right;
}
QPushButton::menu-indicator:pressed,QPushButton::menu-indicator:open {
position:relative;
top:4px;
left:4px;
}