qt风格及系统主题对dockwindow的影响

在qt 3.3.8中加入了dockwindow,可是总是带着蓝色的标题栏。如下图:

 

但是以前写的别的程序dockwindow都不带蓝色标题栏。如下图:

 

对比了两个程序的添加dockwindow,以及设置dockwindow属性的源代码,没发现任何问题。排除了对dockwindow实现的怀疑。

以前发现过windows主题,对视图显示的影响。有没有可能是系统主题的影响呢?

果然将windows xp的主题改为经典,dockwindow就不带蓝色标题栏了,但改回window xp主题,又出现了蓝色标题栏。

奇怪,为什么第二个程序,不随主题改变呢?还是新的程序有问题。

仔细想了想,哈哈,第二个程序没有加风格处理。

如下:

int main( int argc, char ** argv )
{

...

QApplication app( argc, argv );
qApp->setStyle(new QWindowsStyle);               //就是少了这句话。

...

}

这样设置了风格就好了,呵呵,不管主题怎么改,都不带蓝色的标题栏了。

总结:想想原理很简单,以前也用过setStyle。但是程序代码太多了,dockwindow与main不在同一个文件里,刚开始怎么也没想到是风格的问题,少了一句不起眼的setStyle,还一直以为是dockwindow设置的不对,使用各种方法调试。到网上查,可是qdockwindow的资料不多,没找到。解决这个问题用了三个多小时,现在记录下来。方便别人遇到类似问题时查阅。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值