QT窗口透明设置
来源:互联网 发布:苹果手机一键锁屏软件 编辑:程序博客网 时间:2024/05/17 06:07
QT窗口透明设置
这问题折腾我一整天了,在网上搜几种方法,一一测试,然后崩溃中....
一.设置窗口的背景色
我比较懒,没用网上介绍的方法一一敲代码,而直接在qt creator 中设置palette中的window项为透明。结果得到不是理所当然的透明效果,而是一个黑色的矩形。
二.在窗口的构造函数中使用如下代码
setAttribute(Qt::WA_TranslucentBackground, true);
结果窗口背景还是黑色的,后来才知道,前面还要加上下面这句才有效果
setWindowFlags(Qt::FramelessWindowHint); //把窗口设置成没框架的
我是用win7环境测试的,QMainWindow--->QGLWidget--->QWidget 在我的程序中,三个窗口的父子关系就是这样的。我想让QWidget模拟三维游戏中底部的那个用户交互界面。
我把上面两行代码贴在QMainWindow中,主窗口是透明了,QWidget这个窗口也透明了还如愿地不影响其中的按钮,可中间的QGLWidget却不见了,连鼠标事件也感应不到了;
我把上面两行代码贴在QGLWidget的构造函数中,没效果;
贴在QWidget中也是一样不透明;
甚至去掉了QMainWindow,结果那QWidget的背景还是雷打不动的黑色;
那个崩溃啊,直使我想放弃QT
三.在窗口的构造函数中使用如下代码
setWindowOpacity(0.5);
一提这函数我气就不打一处来,窗口是半透明了,可我那窗口中的按钮也被半透明了,可恨的继承,更可恨的是一嵌入到QGLWidget窗口中,就又变成讨厌的黑色矩形了。要它何用!
四.就是重载void paintEvent( QPaintEvent* ); 了
在这个函数内我用QPainter 又是刷透明通道,又是画透明图片,结果那QWidget的背景该怎么黑就怎么黑,就是不透明。
连styleSheet都用上了,还是没能解决问题。
到论坛上提问没人答我,百度谷歌都搜了一天了,都是些重复的内容。我实在没辙了,
谁来告诉我到底哪个环节出错了?
- QT窗口透明设置
- QT窗口透明设置
- Qt设置窗口背景透明
- 【引用】Qt中设置窗口的透明
- Qt 窗口控件透明
- qt窗口透明
- Qt编程—去掉标题栏和设置窗口透明用法
- Qt编程—去掉标题栏和设置窗口透明用法
- Qt编程—去掉标题栏和设置窗口透明用法
- VC设置窗口透明
- 设置MFC窗口透明
- 设置MFC窗口透明
- MFC设置窗口透明
- 设置窗口背景透明
- 设置Android窗口透明
- MFC设置透明窗口
- 设置窗口透明
- MFC设置透明窗口
- ffmpeg +SDL 视频播放实例(目前只能显示视频,没有声音)
- Hadoop namenode无法启动
- java 聚合与组合的区别
- 使用OpenDNS解决DNS域名劫持
- 在大连做安天技术论坛 GuessMe4
- QT窗口透明设置
- android重力感应
- MyEclipse 下用Junit创建测试类
- Iphone开发-NSdata 与 NSString,Byte数组,UIImage 的相互转换
- 大话Emacs Shell Mode:让工作更轻松的技巧
- Qt模拟键盘按键按下
- shell和perl
- css学习笔记(第一节)
- android原始图片thumbnail映射