我有一個帶有主「顯示」小部件的QMainWindow,以及一些次要小部件。我希望能夠在鼠標進入或離開窗口時打開/關閉小部件。Qt4:隱藏次要小部件,同時保持中央小部件的大小
我可以通過實現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的邊界更改爲環繞這個按鈕。
你能顯示一些代碼嗎? – Junuxx
@Junuxx當然,請參閱上文 – ChrisB