相关疑难解决方法(0)

防止GTK中的窗口重叠

我有一个Python/Linux应用程序,它在GTK窗口中显示我需要的一些信息.出于本讨论的目的,它应该像Dock一样 - 存在于所有虚拟桌面上,并且最大化的窗口不会与它重叠.

第一点非常简单,但是我花了几天的时间猛烈地对着我的显示器试图获得第二点 - 防止重叠.如果另一个窗口最大化,我的应用程序不应该被覆盖.设置"永远在顶部"是不够的,因为其他窗口只是坐在我的信息栏后面而不是停在它的边缘.

简而言之:使用停靠/面板样式窗口,如何防止其他窗口在其上/下方最大化?

更新:由于vsemenov问题解决了

python x11 gtk dock ewmh

5
推荐指数
1
解决办法
2539
查看次数

PyQt4:如何使用预留空间制作带底片的窗口

我想使用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)

谁能帮我这个?谢谢 :)

python flags overlap pyqt4 borderless

0
推荐指数
1
解决办法
7516
查看次数

标签 统计

python ×2

borderless ×1

dock ×1

ewmh ×1

flags ×1

gtk ×1

overlap ×1

pyqt4 ×1

x11 ×1