Hello Frank! This time, I'm not quite sure, whether I understood your task correctly... If I got it right, you want the button to be visible only within the frame box!? A widget is only visible within it's parents geometry, so you can use this behaviour. In your short example, the layouts and buttons parent is the mainWidget an have therefore the same geometry as the mainWidget. I changed the code slightly, you will find it below. Please tell me, if this is not, what you were after! Additionally, note the following:
- (Knowing, that this may be the beginning of a holy war :-)): in python, you don't write spaces after opening and before closing brackets (see PEP8 or the Google Python Style Guide). - I replaced your setParent() calls by using the constructors parameter. This makes the code shorter and is to prefer in my opinion, most PySiders do it this way, but again, this is just a question of personal taste... :-) Cheers Aaron ########## Code ########### import sys from PySide.QtGui import * from PySide.QtCore import * app = QApplication( sys.argv ) mainWidget = QWidget() frame = QFrame(mainWidget) frame.setFrameStyle( QFrame.Box ) label = QPushButton( 'this should only be visible inside the layout geo', frame ) label.resize( 500, 50 ) layout = QVBoxLayout( mainWidget ) layout.addWidget( frame ) mainWidget.resize( 500, 200 ) mainWidget.show() sys.exit( app.exec_() ) _______________________________________________ PySide mailing list [email protected] http://lists.qt-project.org/mailman/listinfo/pyside
