Details
-
Bug
-
Resolution: Unresolved
-
P2: Important
-
None
-
5.12.2
-
None
Description
The PySide2 sample code below shows a custom widget (TestWidget) consisting of a QFrame and aCSS-styled QSizeGrip. The TestApp places several instances of this TestWidget in a QVBoxLayout. The first QSizeGrip is not visible unless it is the only size grip in the layout, as shown in the attached images
import sys from PySide2 import QtCore from PySide2.QtWidgets import QApplication, QWidget , QMainWindow , QGraphicsView , QVBoxLayout , QFrame , QSizeGrip , QWidget class TestWidget(QWidget): def __init__(self , parent=None): super(TestWidget , self).__init__(parent) layout = QVBoxLayout() layout.setContentsMargins( 0 , 0 , 0 , 0 ) frame = QFrame() frame.setFrameShape(QFrame.StyledPanel) frame.setMinimumHeight( 100 ) grip = QSizeGrip(self) grip.setStyleSheet( "QSizeGrip { image: url(dots.png); }") grip.setCursor(QtCore.Qt.SplitVCursor) layout.addWidget(frame) layout.addWidget( grip , 0 , QtCore.Qt.AlignBottom | QtCore.Qt.AlignRight ) self.setLayout(layout) class TestApp(QMainWindow): def __init__(self, parent=None): super(TestApp, self).__init__(parent) track1 = TestWidget() track2 = TestWidget() track3 = TestWidget() centralWidget = QWidget() layout = QVBoxLayout(centralWidget) layout.addWidget(track1) layout.addWidget(track2) layout.addWidget(track3) self.setCentralWidget(centralWidget) self.show() if __name__=="__main__": app = QApplication(sys.argv) myapp = TestApp(); sys.exit(app.exec_())
I've observed the same bug in PySide version 1.2.2 (Qt version 4.8.7)