我有一个带有主要“显示”小部件和几个小部件的 QMainWindow。我希望能够在鼠标进入或离开窗口时打开/关闭小部件。
我可以通过实现enterEvent
和leaveEvent
调用显示/隐藏不必要的小部件来实现这个基本功能。然而,Qt4 的默认行为是保持 QMainWindow 几何形状固定,并调整重要的小部件的大小。我宁愿维护这个小部件的几何形状,并根据需要移动/调整 QMainWindow 的大小。这可能吗?
这是 PyQt4 中的一个简化示例
from PyQt4.QtGui import *
from PyQt4.QtCore import *
app = QApplication([''])
class MyWidget(QWidget):
def __init__(self, parent=None):
super(MyWidget, self).__init__(parent)
layout = QVBoxLayout()
self.setLayout(layout)
self.main = QPushButton("major")
self.main.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
self.minor = QPushButton("minor")
layout.addWidget(self.main)
layout.addWidget(self.minor)
def enterEvent(self, event):
self.minor.show()
def leaveEvent(self, event):
self.minor.hide()
mw = QMainWindow()
mw.setCentralWidget(MyWidget())
mw.show()
app.exec_()
我希望 MyWidget 的边界改变为环绕此按钮,而不是“主要”按钮的增长/缩小。