【Qt从入门到入土】4.基础控件之QPushButton

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;  
} 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值