当前位置:   article > 正文

C++ Qt学习笔记 2020-11-27(控件透明度,LineEdit灰色提示文字,设置按钮图标大小,设置label中文字字体、大小、粗细、颜色等,按钮实现图标在上文字在下显示,qss事件改变格式)_qt lineedit字体颜色是灰色

qt lineedit字体颜色是灰色

1、设置控件透明度

//半透明
QGraphicsOpacityEffect* opacityEffect = new QGraphicsOpacityEffect;
opacityEffect->setOpacity(0.8);
ui->link_persons->setGraphicsEffect(opacityEffect);
  • 1
  • 2
  • 3
  • 4

也可以在qss设置背景颜色时设置,如:

//不透明程度为80%,越小越透明
ui->label->setStyleSheet("QLabel#label{background-color:rgb(0,255,0,80%);}");
  • 1
  • 2

2、LineEdit灰色背景提示文字

ui->search_line->setPlaceholderText(u8"搜索");
  • 1

运行结果:
在这里插入图片描述

3、设置按钮图标

QIcon button_ico5(":/new/prefix1/source/pic5.png");
ui->pushButton_5->setIcon(button_ico5);
  • 1
  • 2

运行结果:
在这里插入图片描述

4、QFont设置label中文字字体、大小、粗细、颜色等

    QFont font1 ( "Microsoft YaHei", 12);   //字体,大小
    font1.setFamily("Microsoft YaHei"); //设置字体
    font1.setUnderline(false);   //下划线
    font1.setOverline(false);  //上划线
    font1.setPixelSize(15);   //设置字体像素大小
    font1.setBold(false);  //加粗
    font1.setItalic(false);  //斜体
    font1.setPointSize(12); //字体大小
    font1.setStrikeOut(false); //删除线
    ui->label_2->setFont(font1); //应用于label
    ui->label_2->setStyleSheet("color:white");//文本颜色
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

运行结果:
在这里插入图片描述

5、按钮同时显示图标和文字,设置图标大小,设置图标在上,文字在下

最好的方法还是做一个带文字的背景图片,作为pushbutton的背景,以下使用布局来做是为了学习和整理。

由于设置文字在图标下面,使用的是setToolButtonStyle,而pushbutton没有这个属性,所以我把pushbutton都替换成了toolbutton,下面以toolbutton为例:

//隐藏边框,设置颜色
ui->to_page_1->setStyleSheet("QToolButton#to_page_1{background-color:#eee;border:0px;}");
//显示图标
QIcon button_ico1(":/new/prefix1/source/mainwindow.png");
ui->to_page_1->setIcon(button_ico1);
//按钮上的文字在ui双击按钮输入,或settext()
ui->to_page_1->setText(u8"首页");
//设置图标尺寸
ui->to_page_1->setIconSize(QSize(45,45));
//设置格式为图片在上,文字在下
ui->to_page_1->setToolButtonStyle(Qt::ToolButtonTextUnderIcon);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

运行结果:
在这里插入图片描述

6、在qss中设置按钮点击时的格式

之前有些使用的事件过滤器来做的,现在改成用qss来做就方便多了,实现格式:

//按下事件时改变样式(注:只有点击的一瞬间改变,松开就又没了)
ui->to_page_2->setStyleSheet("QToolButton#to_page_2{...} QToolButton#to_page_2:pressed{}"

//事件
pressed  //按下
hover  //悬浮
checked  //选中
unchecked  //未被选中
focus   //焦点
disable //控件失效
enable  //控件有效
indeterminate  //部分选中
on  //处于on状态
off  //处于off状态


//控件的子控件中用双冒号实现,如
QScrollBar::handle   //滚动条
QScrollBar::sub-line
QScrollBar::add-line
QScrollBar::handle:hover
QScrollBar::handle:pressed
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

使用时,比如:

ui->to_page_2->setStyleSheet("QToolButton#to_page_2{background-color:rgb(1,93,180);border:0px;}QToolButton#to_page_2:pressed{background-color:#eee;border:0px;}");
  • 1

那么这个按钮在点击时会变成白色:
在这里插入图片描述
但是有个问题,鼠标松开就会变回去!

悬浮这些改变格式还是可以用这个来的,但是其他的在掌握进一步的操作之前,还是用事件过滤器来吧。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/520433
推荐阅读
相关标签
  

闽ICP备14008679号