首页 > 技术文章 > PyQt5 点不着的按钮

nomorebug 2021-02-06 14:19 原文

 1 import sys
 2 import typing
 3 
 4 from PyQt5 import QtWidgets, QtGui, QtCore
 5 import random
 6 
 7 class Mywindow(QtWidgets.QWidget):
 8     def __init__(self,*args,**kwargs):
 9 
10         super().__init__()
11         self.setWindowTitle("点按钮试试看")
12         self.resize(500,500)
13         self.move(300,100)
14 
15     def mouseMoveEvent(self, ms):
16         wincu=self.cursor()
17 
18         mx=random.randint(self.x(),self.x()+self.width())
19         my=random.randint(self.y(),self.y()+self.width())
20         wincu.setPos(mx,my)
21 
22 
23 def con():
24 
25     btn.setText("恭喜您,成功了!!!撒花")
26     btn.adjustSize()
27     window.setMouseTracking(False)
28 
29 
30 app=QtWidgets.QApplication(sys.argv)
31 window = Mywindow()
32 window.setMouseTracking(True)
33 
34 
35 btn = QtWidgets.QPushButton(window)
36 btn.setText("点我啊")
37 btn.move(200,200)
38 btn.clicked.connect(con)
39 # btn.setMouseTracking(True)
40 
41 
42 
43 window.show()
44 
45 
46 sys.exit(app.exec_())

第一个:鼠标发疯 _按钮还是有可能点到的

import sys
import typing

from PyQt5 import QtWidgets, QtGui, QtCore
import random

class Mywindow(QtWidgets.QWidget):
    def __init__(self,*args,**kwargs):

        super().__init__()
        self.setWindowTitle("点按钮试试看")
        self.resize(500,500)
        self.move(300,100)

  
 class button(QtWidgets.QPushButton):
     def mouseMoveEvent(self, me):
         max = self.width()
         may = self.height()
         mx = random.randint(0, 500-max)
         my = random.randint(0, 500-may)
         self.move(mx, my)

def con():

    btn.setText("恭喜您,成功了!!!撒花")
    btn.adjustSize()
    window.setMouseTracking(False)


app=QtWidgets.QApplication(sys.argv)
window = Mywindow()
window.setMouseTracking(True)


btn = button(window)
btn.setText("点我啊")
btn.move(200,200)
btn.clicked.connect(con)
 btn.setMouseTracking(True)



window.show()


sys.exit(app.exec_())

第二个   按钮发疯 怎么也点不到  :(

推荐阅读