找回密码
 立即注册
收起左侧

Ubuntu 16.04 窗口透明化 无效

14
回复
10762
查看
[复制链接]
累计签到:2 天
连续签到:1 天
来源: 2017-5-31 10:48:41 显示全部楼层 |阅读模式
2Qter豆
windows下将qt 窗口透明化后可以成功;而在Ubuntu 16.04下同样的代码,无效。
具体代码如下:
  1. ApplicationWindow
  2. {
  3.     id : mainWindow

  4.     visible: true
  5.     width: 1280
  6.     height: 720

  7.     flags: Qt.FramelessWindowHint
  8.     color : "transparent"
  9. }
复制代码


回复

使用道具 举报

累计签到:2 天
连续签到:1 天
2017-5-31 18:13:24 显示全部楼层
我设置了下透明度opacity,达到了我的目的,
  1. Window
  2. {
  3.     id : mainWindow

  4.     visible: true
  5.     width: 1280
  6.     height: 720

  7.     flags: Qt.FramelessWindowHint
  8.     color : "transparent"
  9.     opacity : 0.8
  10. }
复制代码


不过我发现:
import QtQuick.Controls 2.0
ApplicationWindow
{
opacity : 0.8
}
这样写编译没错,运行时报错:
applicationwindow.opacity is not available due to component version

有知道原因的不???
回复

使用道具 举报

累计签到:2 天
连续签到:1 天
2017-6-2 10:13:41 显示全部楼层
alex_wang 发表于 2017-5-31 18:13
我设置了下透明度opacity,达到了我的目的,

import QtQuick.Controls 2.0
ApplicationWindow
{
opacity : 0.8
}
这样写编译没错,运行时报错:
applicationwindow.opacity is not available due to component version

在Qt论坛上,经确认这是个bug,在Qt 5.9.1版本已修复!
我使用的是5.8.0,若不想更新版本,可使用Binding解决:
  1. ApplicationWindow {
  2.     id: app
  3. Binding { target: app; property: "opacity"; value: 0.8}
  4. }
复制代码

回复

使用道具 举报

累计签到:742 天
连续签到:1 天
2017-5-31 16:02:07 显示全部楼层
你试试把 color 的值换成 “#00000000” !
回复

使用道具 举报

累计签到:2 天
连续签到:1 天
2017-5-31 18:14:06 显示全部楼层
Since 发表于 2017-5-31 16:02
你试试把 color 的值换成 “#00000000” !

我换成“#80000000”,透明无效....
回复

使用道具 举报

累计签到:742 天
连续签到:1 天
2017-5-31 19:53:32 显示全部楼层
废话,最前面两个 数据代表的透明度,你改成80 有个 JJ 用,改成 00 才会透明的~~
回复

使用道具 举报

累计签到:742 天
连续签到:1 天
2017-5-31 19:55:15 显示全部楼层
alex_wang 发表于 2017-5-31 18:13
我设置了下透明度opacity,达到了我的目的,

我觉得你可以去问问【百度翻译】
回复

使用道具 举报

累计签到:2 天
连续签到:1 天
2017-6-1 09:51:22 显示全部楼层
Since 发表于 2017-5-31 19:53
废话,最前面两个 数据代表的透明度,你改成80 有个 JJ 用,改成 00 才会透明的~~ ...

我觉得你可以回去重新修炼了,搞清楚再来回复
回复

使用道具 举报

累计签到:2 天
连续签到:1 天
2017-6-1 09:52:33 显示全部楼层
本帖最后由 alex_wang 于 2017-6-1 10:02 编辑
Since 发表于 2017-5-31 19:55
我觉得你可以去问问【百度翻译】

上面有我写的例子,opacity设置的是0.8
回复

使用道具 举报

累计签到:742 天
连续签到:1 天
2017-6-1 10:22:26 显示全部楼层
alex_wang 发表于 2017-6-1 09:51
我觉得你可以回去重新修炼了,搞清楚再来回复

不服,我用了这么久的 QML ,颜色这个肯定是的,你用opacity 设置透明度是整个控件的,color 设置的是背景之类的,前两个一定4透明度~~
回复

使用道具 举报

累计签到:2 天
连续签到:1 天
2017-6-1 11:32:03 显示全部楼层
本帖最后由 alex_wang 于 2017-6-1 11:43 编辑
Since 发表于 2017-6-1 10:22
不服,我用了这么久的 QML ,颜色这个肯定是的,你用opacity 设置透明度是整个控件的,color 设置的是背 ...

1.你说的正确,我也知道
2.你先按我说的在ubuntu上试试再说
3.你还纠结透明度......你真的有 经验就应该知道00是全透,80是半透...
回复

使用道具 举报

尚未签到

2017-6-1 22:09:56 显示全部楼层
楼上别争了。。。 前面的00和80指的是argb的a,即alpha,即透明度,和rgb一样都是0到ff共256个值
回复

使用道具 举报

累计签到:1 天
连续签到:1 天
2017-6-2 02:10:22 显示全部楼层
ubuntu和Mac的透明,与Windows的理解不一样,前者需要在系统配置里准确设置才行。
另外在QSS里,ubuntu和Mac的“透明”居然是黑色。
回复

使用道具 举报

累计签到:3 天
连续签到:1 天
2017-6-2 10:24:31 显示全部楼层
好多人都直接安装Linux系统了
回复

使用道具 举报

累计签到:5 天
连续签到:1 天
2017-6-2 17:18:36 显示全部楼层
请使用qt5.9试一试,好像这个是一个bug
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了