首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使“真正透明”窗口光标,最好是在纯QML上?(Qt 5.7)

问如何使“真正透明”窗口光标,最好是在纯QML上?(Qt 5.7)
EN

Stack Overflow用户
提问于 2016-11-27 20:38:17
回答 1查看 1.1K关注 0票数 2

“真实透明度”解释(图片,76)。

在该图像上,ApplicationWindow有一个可视透明层。但实际上,游标没有转到ApplicationWindow后面的窗口(在本例中是- QT )。

如果添加(取消注释) "Qt.WindowTransparentForInput“标志,则实现”真正的透明度“,但是按钮不再可用(我知道这是显而易见的)。

我尝试过各种具有类似含义的标志(从文档中),但没有找到一个有效的组合--当光标在窗口的边框内时,游标处于“默认”状态(必须处于“文本”状态,因为它下面是文本)。

有没有人遇到过类似的问题,你找到解决办法了吗?谢谢!

来自图像的代码,其他项目文件保持不变( Quick 2应用程序):

代码语言:javascript
复制
import QtQuick 2.7
import QtQuick.Controls 1.5

ApplicationWindow {
    visible: true
    width: 320
    height: 240
    x: 400
    y: 210
    color: "transparent"
    flags: Qt.Widget | Qt.FramelessWindowHint //| Qt.WindowTransparentForInput
    //| Qt.WA_TranslucentBackground //| Qt.WA_NoSystemBackground
    //| Qt.WA_NoBackground //| Qt.WA_MouseNoMask

    Button {
        x: ApplicationWindow.width - width
        text: "Right Top Window Corner"
    }
    Button {
        y: ApplicationWindow.height - height
        text: "Left Bottom Window Corner"
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-28 08:52:45

一种解决方案是创建一个3个窗口,一个用于透明区域,另一个用于每个按钮。

代码语言:javascript
复制
import QtQuick 2.4
import QtQuick.Controls 1.5
import QtQuick.Window 2.0

ApplicationWindow {
    id: app
    visible: true
    width: 320
    height: 240
    x: 400
    y: 210
    color: "transparent"
    flags: Qt.Widget | Qt.FramelessWindowHint | Qt.WindowTransparentForInput | Qt.WindowStaysOnTopHint

    Window {
        visible: true
        flags: Qt.FramelessWindowHint | Qt.WindowStaysOnTopHint
        x: app.width - width
        height: rightButton.implicitHeight
        Button {
            id: rightButton
            text: "Right Top Window Corner"
        }
    }
    Window {
        visible: true
        flags: Qt.FramelessWindowHint | Qt.WindowStaysOnTopHint
        y: app.height - height
        height: leftButton.implicitHeight
        Button {
            id: leftButton
            text: "Left Bottom Window Corner"
        }
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40833624

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档