我有一个Python/Linux应用程序,它在GTK窗口中显示我需要的一些信息.出于本讨论的目的,它应该像Dock一样 - 存在于所有虚拟桌面上,并且最大化的窗口不会与它重叠.
第一点非常简单,但是我花了几天的时间猛烈地对着我的显示器试图获得第二点 - 防止重叠.如果另一个窗口最大化,我的应用程序不应该被覆盖.设置"永远在顶部"是不够的,因为其他窗口只是坐在我的信息栏后面而不是停在它的边缘.
简而言之:使用停靠/面板样式窗口,如何防止其他窗口在其上/下方最大化?
更新:由于vsemenov问题解决了
我想使用PyQt4 for Linux制作类似面板的应用程序.为此我需要我创建的窗口:
从阅读文档我已经知道我应该使用QtWindowFlags.但我不知道如何做到这一点.另外我相信应该有一个Qt.WindowType提示告诉WM窗口是一个"停靠"应用程序.我已经使用pygtk在这个帖子之后做了这个,但是在这里用Qt我真的不知道如何处理这个.(我更需要Qt的主题/皮肤应用程序的能力.)
下面是我制作的当前代码(没什么特别的).
import sys
from PyQt4 import QtGui
class Panel(QtGui.QWidget):
def __init__(self, parent=None): ## should the QtWindowFlag be here?
QtGui.QWidget.__init__(self, parent) ## should the QtWindowFlag be there as well?
self.setWindowTitle('QtPanel')
self.resize(QtGui.QDesktopWidget().screenGeometry().width(), 25)
self.move(0,0)
def main():
app = QtGui.QApplication(sys.argv)
panel = Panel()
panel.show()
sys.exit(app.exec_())
return 0
if __name__ == '__main__':
main()
Run Code Online (Sandbox Code Playgroud)
谁能帮我这个?谢谢 :)