我试图设置一个窗口(我使用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)
一切正常但问题是:窗口现在变得不可移动了,使用鼠标(就像任何普通窗口一样)
我应该添加什么来解决这个问题?并谢谢
答案 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_())