Qt5 - 在全屏期间强制保持在顶部

问题描述

尝试使用 Qt 编写一个会在屏幕上放置水印的应用程序。 使用以下标志可以让我的窗口显示在所有内容之上,除非用户在 Windows 照片中使用全屏模式。

self.setwindowFlags(
        Qt.WindowTransparentForInput | Qt.WindowStaysOnTopHint |
        Qt.FramelessWindowHint | Qt.Tool | Qt.MaximizeUsingFullscreenGeometryHint)

在上述情况下是否有可能强制窗口保持在顶部?即使用 user32 而无需为不同的框架重写所有内容

解决方法

在 Windows 上,您可以使用 Resources // VMs | where type == 'microsoft.compute/virtualmachines' | extend AvSet = properties.availabilitySet.id | extend AvZone = properties.availabilityZone.id | extend VMname_SLA = iff(isnotempty(AvZone),AvZone,iff(isnotempty(AvSet),AvSet,id)) | extend SLA_VM = iff(isnotnull(AvZone),'99.99%',iff(isnotnull(AvSet),'99.95%','')) | extend managedBy = tolower(id) | join kind = leftouter ( Resources // Disks | where type == 'microsoft.compute/disks' | where isnotempty(managedBy) | extend managedBy = tolower(managedBy) // What do Standard HDD disks have as SKU tag??? I used StandardHDD for the time being | extend Tier_disk = sku.tier | extend SLA_disk = iff(Tier_disk == 'StandardHDD','95%',iff(Tier_disk == 'Standard','99.5%','99.9%')) ) on managedBy | extend SLA_tot = iff(isnotempty(SLA_VM),SLA_VM,SLA_disk) | project managedBy,VMname_SLA,SLA_tot | order by managedBy asc gdi32 在桌面上绘图,如果您只需要水印,则可以尝试这种方法。

user32