如何给应用程序中的某一个窗口部件单独设置样式表?一个小细节,要设置它的objectName。

这是一个网友和我交流时提到的问题,研究了一下,是个比较基础的问题,但是在手写代码的情况下容易忽略。

 

问:如何给应用程序中的某一个窗口部件单独设置样式表,我怎么设置都没有效果?这是QT 帮助文档里自带的说将stylesheet应用到具体对象上的方法,但似乎不起作用。

 

 

     ID Selector
     QPushButton#okButton
     Matches all QPushButton instances whose object name is okButton. 

 

 

答:我还真没有注意这个,仔细试了一下。发现其实解答就含在了你提供的这段说明中。即:如果要对这个窗口中的某一个对象单独设置stylesheet的话,一定要设置它的objectName属性。当然这是指用代码写的情况,如果使用Qt Designer的话,则一般有默认的objectName,则就会起作用的。不过,使用Qt Designer一般很难达到理想的样式表。

 

具体示例如下:

 

 

 

 

 

 

 

     QDialog myDialog;
     myDialog.setObjectName("mydialog");//如果要对这个对象单独设stylesheet的话一定要设置它的objectName

然后再像下面这样写就可以了:

     QDialog#mydialog {background-image: url(2.bmp);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值