1、设置控件透明度
//半透明
QGraphicsOpacityEffect* opacityEffect = new QGraphicsOpacityEffect;
opacityEffect->setOpacity(0.8);
ui->link_persons->setGraphicsEffect(opacityEffect);
也可以在qss设置背景颜色时设置,如:
//不透明程度为80%,越小越透明
ui->label->setStyleSheet("QLabel#label{background-color:rgb(0,255,0,80%);}");
2、LineEdit灰色背景提示文字
ui->search_line->setPlaceholderText(u8"搜索");
运行结果:

3、设置按钮图标
QIcon button_ico5(":/new/prefix1/source/pic5.png");
ui->pushButton_5->setIcon(button_ico5);
运行结果:

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");//文本颜色
运行结果:

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);
运行结果:

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
使用时,比如:
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万+

被折叠的 条评论
为什么被折叠?



