亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

python鼠標拖拽功能怎么實現

小億
139
2023-12-01 19:11:16
欄目: 編程語言

在Python中,可以使用PyQt或Tkinter庫來實現鼠標拖拽功能。

  1. 使用PyQt實現鼠標拖拽功能:
import sys
from PyQt5.QtWidgets import QApplication, QWidget

class DraggableWidget(QWidget):
    def __init__(self):
        super().__init__()
        self.setFixedSize(200, 200)
        self.setWindowTitle('Draggable Widget')
        self.draggable = False
        self.offset = None

    def mousePressEvent(self, event):
        if event.button() == 1:  # 檢查是否為左鍵點擊
            self.draggable = True
            self.offset = event.pos()

    def mouseMoveEvent(self, event):
        if self.draggable:
            self.move(event.globalPos() - self.offset)

    def mouseReleaseEvent(self, event):
        if event.button() == 1:  # 檢查是否為左鍵釋放
            self.draggable = False

if __name__ == '__main__':
    app = QApplication(sys.argv)
    widget = DraggableWidget()
    widget.show()
    sys.exit(app.exec_())
  1. 使用Tkinter實現鼠標拖拽功能:
import tkinter as tk

class DraggableWidget(tk.Tk):
    def __init__(self):
        super().__init__()
        self.geometry('200x200')
        self.title('Draggable Widget')
        self.draggable = False
        self.offset = None

        self.bind('<Button-1>', self.on_mouse_press)
        self.bind('<B1-Motion>', self.on_mouse_move)
        self.bind('<ButtonRelease-1>', self.on_mouse_release)

    def on_mouse_press(self, event):
        self.draggable = True
        self.offset = (event.x, event.y)

    def on_mouse_move(self, event):
        if self.draggable:
            x = self.winfo_pointerx() - self.offset[0]
            y = self.winfo_pointery() - self.offset[1]
            self.geometry(f'+{x}+{y}')

    def on_mouse_release(self, event):
        self.draggable = False

if __name__ == '__main__':
    widget = DraggableWidget()
    widget.mainloop()

這些代碼創建了一個可拖拽的窗口小部件,并在鼠標按下和移動時更新部件的位置。

0
额尔古纳市| 绥中县| 龙州县| 西乌珠穆沁旗| 巫山县| 弥渡县| 仁寿县| 大邑县| 凤庆县| 皮山县| 大悟县| 兖州市| 和平县| 紫云| 香港| 蕉岭县| 南投市| 兖州市| 镇安县| 江西省| 西和县| 南平市| 甘德县| 宁乡县| 东乡| 彭山县| 台东县| 樟树市| 平山县| 麻阳| 门头沟区| 黄浦区| 和政县| 曲靖市| 五华县| 桦甸市| 克拉玛依市| 泾阳县| 荣成市| 合阳县| 通榆县|