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

linux– 使用Qt在Gnome 3,Xfce和Unity下,带有子窗口的全屏窗口不会保持在顶部,第1张

概述我有一个基于Qt的全屏应用程序.全屏应用程序应始终位于顶部,否则窗口的一部分将受阻.我希望无框全屏窗口有子窗口(特殊对话框,...).这些子窗口应显示在全屏窗口的顶部.在下面显示它们没有多大意义.一个简短的,自成一体的例子是:from PySide import QtGui, QtCore app = QtGui.QApplication([]) win

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

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

from PySIDe import QtGui,QtCoreapp = 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_()@H_301_10@

它是用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上,我看到最初全屏主窗口位于所有内容之上但是一旦创建了子对话窗口,通常的桌面装饰(顶部和左侧条形图)显示在全屏主窗口上方,阻碍了视图的一部分!子窗口关闭后,全屏窗口再次位于顶部.

现在的问题是,如果有任何可以做到的事情,可以在Ubuntu上使用全屏幕窗口加上子窗口和Qt吗?

windows和linux之间的不同行为也不令人满意,因为如果可能,应该避免使用特定于 *** 作系统的代码.

后来:

使用the overview of available desktop environment on Ubuntu我安装了几个环境并对其进行了测试.

KDE,Lubuntu(Lxde?)和OpenBox按预期工作(同样适用于windows).当全屏显示时,主窗口保持在顶部,并且上方显示子窗口.

然而,对于Gnome-Shell(Gnome 3),Xfce,Unity和Awesome,桌面装饰保持在全屏模式的顶部,也显示了儿童窗口的窗口. Xfce和Unity表现完全相同,Gnome和Awesome甚至还有一些小的额外问题.

最佳答案你尝试了documentation suggests的东西吗?

Qt::windowstaysOntopHint 0x00040000 Informs the window system that the window should stay on top of all other windows. Note that on
some window managers on X11 you also have to pass
Qt::X11BypassWindowManagerHint for this flag to work correctly.

另一件事你为什么要让其他窗口成为一个孩子,如果你在父母的下面呢? 总结

以上是内存溢出为你收集整理的linux – 使用Qt在Gnome 3,Xfce和Unity下,带有子窗口的全屏窗口不会保持在顶部全部内容,希望文章能够帮你解决linux – 使用Qt在Gnome 3,Xfce和Unity下,带有子窗口的全屏窗口不会保持在顶部所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1048575.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存