Python - 添加一些代码

时间:2016-07-26 18:12:52

标签: python pyqt4

我试图设置一个窗口(我使用QLabel)看起来像PyQt4中的图像 所以我写了这段代码:

    self.background_update = QPixmap(":/work/window.png")
    update.setPixmap(self.background_update)
    update.resize(self.background.width(), self.background.height())
    update.show()

然后我尝试删除窗口默认操作栏并将其显示为透明以便看起来很好,所以我添加了

    update.setWindowFlags(Qt.FramelessWindowHint)
    update.setAttribute(Qt.WA_TranslucentBackground)

一切正常但问题是:窗口现在变得不可移动了,使用鼠标(就像任何普通窗口一样)

我应该添加什么来解决这个问题?并谢谢

1 个答案:

答案 0 :(得分:0)

不确定您所使用的平台,但在Linux上,您可以通过按 Alt 并使用鼠标拖动来移动任何窗口。但是,如果这不起作用,您可以很容易地在自己的代码中实现类似的功能。

这是一个简单的演示(左键单击并拖动):

from PyQt4 import QtCore, QtGui

class Window(QtGui.QWidget):
    def __init__(self):
        super(Window, self).__init__()
        self.setWindowFlags(QtCore.Qt.FramelessWindowHint)
        self.setMouseTracking(True)
        self.setGeometry(600, 400, 200, 200)

    def mouseMoveEvent(self, event):
        if event.buttons() == QtCore.Qt.LeftButton:
            self.move(event.globalPos() - self._startpos)

    def mousePressEvent(self, event):
        self._startpos = event.pos()

if __name__ == '__main__':

    import sys
    app = QtGui.QApplication(sys.argv)
    window = Window()
    window.show()
    sys.exit(app.exec_())