PyQt5使用鼠标添加小部件(无布局)

时间:2020-10-16 14:48:31

标签: python pyqt pyqt5

当我在父级窗口小部件中按下鼠标时,我试图添加一个窗口小部件,但是它似乎没有显示在屏幕上(尽管我可以通过打印来访问它的实例)。我的父窗口小部件中没有布局。谁能帮忙吗?问题出在mousePressEvent()函数中(其余代码以堆栈溢出另一个问题为例)。

from PyQt5.QtGui     import *
from PyQt5.QtWidgets import *
import sys

class Application(QApplication):

    def __init__(self):
        QApplication.__init__(self, sys.argv)

        self.main = MyWidget()
        self.main.show()


class MyWidget(QWidget):
    def __init__(self, parent=None):
        QLabel.__init__(self, parent)

        self.setStyleSheet("QWidget { background-color : white}")
        self.setGeometry(0, 0, 200, 200)

        self.sub_widget = QWidget(self)
        self.sub_widget.setStyleSheet("QWidget { background-color : black}")
        self.sub_widget.setGeometry((self.width()-100)/2, (self.height()-100)/2 , 100, 100)

    def resizeEvent(self, event):

        self.sub_widget.setGeometry((self.width()-100)/2, (self.height()-100)/2 , 100, 100)

    def mousePressEvent(self, event):
        w = QWidget(self)
        w.setStyleSheet("QWidget { background-color : red}")
        w.setGeometry(event.x(), event.y() , 100, 100)
        print(w)




if __name__ == '__main__':

    import sys
    app = Application()
    sys.exit(app.exec_())

感谢您的帮助!

0 个答案:

没有答案