linux下qt设置窗口在顶层,linux – 使用Qt在Gnome 3,Xfce和Unity下,带有子窗口的全屏窗口不会保持在顶部...

一个基于Qt的全屏应用在Linux(如Ubuntu的Unity桌面)上运行时,遇到全屏窗口在创建子窗口后会被桌面装饰遮挡的问题。在Windows上则正常。寻求跨平台的解决方案,以确保全屏窗口在子窗口显示时始终保持在顶部。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我有一个基于Qt的全屏应用程序.全屏应用程序应始终位于顶部,否则窗口的一部分将受阻.我希望无框全屏窗口有子窗口(特殊对话框,…).这些子窗口应显示在全屏窗口的顶部.在下面显示它们没有多大意义.

一个简短的,自成一体的例子是:

from PySide import QtGui,QtCore

app = QtGui.QApplication([])

window = QtGui.QWidget(f=QtCore.Qt.WindowStaysOnTopHint)

child_window = QtGui.QWidget(window,f=QtCore.Qt.Window)

child_window.resize(400,300)

layout = QtGui.QVBoxLayout(window)

exit = QtGui.QPushButton('Exit')

exit.clicked.connect(app.exit)

layout.addWidget(exit)

create = QtGui.QPushButton('Create child window')

create.clicked.connect(child_window.show)

layout.addWidget(create)

layout.addStretch()

window.showFullScreen()

app.exec_()

它是用Python编写的,并在Python 3.X PySide 1.2.2(Qt 4.8)Ubuntu 14.04(Unity桌面)或Windows 7上进行测试.但是转换到C Qt(或PyQt)应该很简单.

观察结果是在Windows上,一切都如开头所述. Qt.WindowsStaysOnTopHint不是必需的,而在Ubuntu上则是.

在Ubuntu上,我看到最初全屏主窗口位于所有内容之上但是

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值