qt学习之button按钮和label标签的样式设置及相关问题

 1、代码方式设置鼠标滑过按钮更改Text文本颜色

my_pbtn_ = new QPushButton;
my_pbtn_->setStyleSheet("QPushButton:hover{color:red;}" 
                    "QPushButton:pressed{color:red;}"
                    "QPushButton{color:black; background-color:transparent;border:none;}");

2、代码方式设置鼠标滑过按钮更改按钮样式

my_pbtn_ = new QPushButton;
my_pbtn_->setStyleSheet("QPushButton:hover{background-color:rgba(0,0,0,10%);border:1px solid rgb(196,196,188);}"
                     "QPushButton:pressed{background-color:rgba(0,0,0,20%);border:1px solid rgb(196,196,188);}"
                     "QPushButton{background-color:transparent;border:1px solid rgb(196,196,188);}");
  • 对于ui新建的按钮,若出现鼠标按下后保持,不回弹的问题,可以在ui中选择button并取消勾选按钮的checkable和autoExclusive这两个属性。即可修改为鼠标滑过、按下按钮均改变颜色,离开之后,按钮保持弹起,恢复原状。

3、设置按钮、label风格

  • 设置图标
    // 按钮设置图标
    ui->my_pbtn->setIcon(QIcon(":/imgs/myBtn.png"));
    ui->my_pbtn->setIconSize(QSize(80,80));//设置图标大小
    
    // label设置图标
    my_lab_ = new QLabel();//新建label
    QPixmap my_pix_map;
    my_pix_map.load(":/imgs/mylab.png"); //设置QPixmap
    my_pix_map.scaled(50,50,Qt::KeepAspectRatio,Qt::SmoothTransformation);//设置大小
    ui->my_lab_->setPixmap(my_pix_map);  //设置图标
  • 设置样式
// 设置按钮风格
my_pbtn_->setFixedSize(QSize(80,80));//设置按钮大小
my_pbtn_->setStyleSheet("QPushButton:hover{background-color:rgba(0,0,0,10%);border:1px solid rgb(196,196,188);}"
                        "QPushButton:pressed{background-color:rgba(0,0,0,20%);border:1px solid rgb(196,196,188);}"
                        "QPushButton{background-color:transparent;border:1px solid rgb(196,196,188);}");//设置按钮的鼠标滑过、按下和默认状态分别显示的颜色,以及这三个状态下按钮边框宽度和颜色

// 设置label风格
my_lab_->setFixedSize(QSize(30,30));
my_lab_->setStyleSheet("background:transparent;border-top:none;border-bottom:1px solid rgb(196,196,188);");//设置label的背景透明,上边框和右边框的边框宽度和颜色,也可直接设置全部边框宽度和颜色如:border:1px solid rgb(196,196,188)。
  • 设置显示的文字
// 按钮设置显示文字
ui->m_user_head_pbtn_->setText("ok");//设置文字内容
QFont f;
f.setPixelSize(10);
ui->m_user_head_pbtn_->setFont(f);//设置字体大小

// label设置显示文字
ui->my_lab_->setText(user_name);
QFont f;
f.setPixelSize(10);
my_lab_->setFont(f);

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值