当我在父级窗口小部件中按下鼠标时,我试图添加一个窗口小部件,但是它似乎没有显示在屏幕上(尽管我可以通过打印来访问它的实例)。我的父窗口小部件中没有布局。谁能帮忙吗?问题出在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_())
感谢您的帮助!