qt风格及系统主题对dockwindow的影响
2013-04-16 13:18
288 查看
在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的资料不多,没找到。解决这个问题用了三个多小时,现在记录下来。方便别人遇到类似问题时查阅。
但是以前写的别的程序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的资料不多,没找到。解决这个问题用了三个多小时,现在记录下来。方便别人遇到类似问题时查阅。
相关文章推荐
- [Qt]使用QSS的扁平化风格的成绩管理系统 —— 附源码
- delphi添加{$R WindowsXP},控件具有系统主题风格
- Qt主题风格设置
- Qt添加系统的资源文件(Window系统的RC文件等)
- Avant Window Navigator 0.2发布,Linux下稳定美观的Leopard风格Dock程序
- Qt刷新机制的一些总结(Qt内部画的时候是相当于画在后台一个对象里,然后在刷新的时候调用bitblt统一画,调用window的api并不会影响到后面的那个对象)
- android 悬浮窗不影响系统交互的window参数设置
- window和ubuntu上的QT中文显示正常,交叉编译arm板上debian系统中文显示不正常【已解决】
- *nix系统下验证Qt 4安装正确与否的方法和步骤
- 基于qt和mysql的学生注册系统(一)
- msbuild编译qt界面文件出现Moc'ing文件,系统找不到指定路径问题
- Qt5.8使用Material风格库
- SAP GR/IR在系统AP中收货和校验对会计业务的影响(详细)
- 如何查看window文件系统块大小
- window系统下 Apache配置虚拟主机和虚拟目录的方法
- 建qt工程有关元对象系统常见错误
- Android主题和系统样式篇(下)
- C#轻松打造vista透明窗口(xp系统无任何vista主题)(汤贞营作品)
- PopupWindow popupWindow.showAtLocation(view,Gravity.TOP,x,y) 被顶部系统状态栏挡住内容
- Qt 5.0 for mac 添加程序可执行文件图标 和 dock窗口显示图标