Qt样式表(3):样式表的其他属性

Qt样式表(3):样式表的其他属性

本文为原创文章,转载请注明出处,或注明转载自“黄邦勇帅(原名:黄勇)

本文出自本人原创著作《Qt5.10 GUI完全参考手册》网盘地址:
https://pan.baidu.com/s/1iqagt4SEC8PUYx6t3ku39Q
《C++语法详解》网盘地址:https://pan.baidu.com/s/1dIxLMN5b91zpJN2sZv1MNg

若对C++语法不熟悉,建议参阅本人所著《C++语法详解》一书,电子工业出版社出版,该书语法示例短小精悍,对查阅C++知识点相当方便,并对语法原理进行了透彻、深入详细的讲解,可确保读者彻底弄懂C++的原理,彻底解惑C++,使其知其然更知其所以然。此书是一本全面了解C++不可多得的案头必备图书。

注:类型为属性可取值的“属性类型”(注意:不是Qt类型,属性类型及可取值见13.9.6节)
本小节把border也翻译为边框,因此需注意与frame(边框)的区别,可把border译为边界

13.9.1 与背景色、前景色、所选文本颜色相关的属性(见表13-26)

在这里插入图片描述
在这里插入图片描述

示例13.13:使用样式表设置部件的背景色(效果见图13-25)
#include<QtWidgets>
int main(int argc, char *argv[]){    QApplication aa(argc,argv);
    		QWidget w;
   		aa.setStyleSheet(
		//背景色为红色,背景图片为1i.png。注意为属性指定多个值的方法
      	"QWidget{background: red url(F:/1i.png);"  
      	"background-repeat: repeat-y;"        	//在y轴方向重复图片
      	"background-position: right;}");      	//图片位于部件右侧
    		w.resize(300,200);    w.show();    return aa.exec();		}

在这里插入图片描述

13.9.3 与位置和大小有关的属性
在这里插入图片描述
在这里插入图片描述

示例13.16:设置子控件的位置和大小(效果见图13-31)

#include<QtWidgets>
int main(int argc, char *argv[]){    QApplication aa(argc,argv);
  QWidget w;    QSpinBox *pb=new QSpinBox(&w);    pb->move(33,33);
  pb->resize(300,200);  					//为使效果比较明显,把按钮设置得相对大一点
  aa.setStyleSheet(
        "QSpinBox::down-button{"        		//设置微调按钮的向下按钮
        "subcontrol-origin:content;"   		//子控件的原点矩形
        "subcontrol-position:right bottom;"  	//子控件相对于原点矩形的对齐方式(右下)
        "height:22px;"  "width:22px;"			//设置子控件(即向下按钮)的大小(即宽度和高度) 
//设置向下按钮的位置使用绝对坐标指定,若要使用相对坐标,只需把absolute修改为relative即可
        "position:absolute;"    
        "bottom:22px;"        "right:11px;"
        "margin:11px;"   					//设置向下按钮的边距
        "background-color:red;"  			//使用红色填充子控件(向下按钮)背景
        "background-clip:margin; }"  			//填充背景的区域为边距矩形(margin)范围
);
    w.resize(400,300);    w.show();    return aa.exec();}

在这里插入图片描述

13.9.4 字体、文本、图标、图像、不透明度属性(见表13-27)

在这里插入图片描述
在这里插入图片描述

示例13.17:设置字体、文本、图标(效果见图13-32)
#include<QtWidgets>
int main(int argc, char *argv[]){    QApplication aa(argc,argv);
    QWidget w;    QPushButton *pb1=new QPushButton("AAA",&w);pb1->move(22,22);
    pb1->setIcon(QIcon("F:/1i.png"));    	//添加一个图标
    pb1->resize(333,133);   			//为使效果比较明显,把按钮设置得相对大一点
   aa.setStyleSheet(
        "QPushButton{"        			
        "icon-size:30px;"   			//注意:此处必须带上单位(px表示像素)
        "text-align:top right;"  		//文本对齐方式
        "text-decoration:underline;"  	//为文本添加下划线
/*设置字体,以下属性需按照字体度量、样式、大小、字体族的顺序排列,且字体大小必须带上单位,否则属性将不起作用。*/
        "font:900 italic 55px Times New Roman;}"
        );
    w.resize(400,300); w.show();  return aa.exec();}

在这里插入图片描述

13.9.5 其他属性
在这里插入图片描述
在这里插入图片描述
本文作者:黄邦勇帅(原名:黄勇)

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值