残存的影子 2022-10-24 21:47 采纳率: 57.9%
浏览 42

如何实现鼠标拖动此悬浮窗


from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5 import QtCore
from MainWindow import Ui_MainWindow
from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_Dialog(object):

    def setupUi(self, Dialog):
        Dialog.setObjectName("Dialog")
        Dialog.resize(154, 125)
        self.label = QtWidgets.QLabel(Dialog)
        self.label.setGeometry(QtCore.QRect(10, 0, 115, 104))
        self.label.setText("")
        self.label.setPixmap(QtGui.QPixmap("./压缩.gif"))
        self.label.setScaledContents(True)
        self.label.setObjectName("label")
        self.retranslateUi(Dialog)
        QtCore.QMetaObject.connectSlotsByName(Dialog)
        # 设置窗口的相关特性(隐藏窗口标题栏,且设置为最顶层的窗口)
        #self.setWindowFlags(Qt.FramelessWindowHint | Qt.WindowStaysOnTopHint)
        Dialog.setWindowFlags(QtCore.Qt.FramelessWindowHint | QtCore.Qt.WindowStaysOnTopHint)
        # 窗口背景透明,但是别的还显示
        Dialog.setAttribute(QtCore.Qt.WA_TranslucentBackground, True)


    def retranslateUi(self, Dialog):
        _translate = QtCore.QCoreApplication.translate
        Dialog.setWindowTitle(_translate("Dialog", "Dialog"))





if __name__=='__main__':
    import sys
    app=QtWidgets.QApplication(sys.argv)
    app.setStyle('Fusion')
    MainWindow=QtWidgets.QDialog()
    ui=Ui_Dialog()
    ui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec_())

请问如何实现鼠标拖动此悬浮窗?
已知一般的重写窗口类自带的三个函数没用任何效果,

  • 写回答

1条回答 默认 最新

  • 張公㜽 2022-10-25 18:08
    关注

    本来就支持拖动啊

    评论

报告相同问题?

问题事件

  • 创建了问题 10月24日

悬赏问题

  • ¥15 C#i编程中so-ir-192编码的字符集转码UTF8问题
  • ¥15 51嵌入式入门按键小项目
  • ¥30 海外项目,如何降低Google Map接口费用?
  • ¥15 fluentmeshing
  • ¥15 手机/平板的浏览器里如何实现类似荧光笔的效果
  • ¥15 盘古气象大模型调用(python)
  • ¥15 传人记程序做的plc 485从机程序该如何写
  • ¥15 已知手指抓握过程中掌指关节、手指各关节和指尖每一帧的坐标,用贝塞尔曲线可以拟合手指抓握的运动轨迹吗?
  • ¥50 libwebsockets 如何添加其他socket事件回调
  • ¥50 实现画布拖拽算子排布,通过flink实现算子编排计算,请提供思路