manuskript/src/ui/collapsibleGroupBox.py

36 lines
1.1 KiB
Python
Raw Normal View History

2015-06-01 08:41:32 +12:00
#!/usr/bin/env python
#--!-- coding: utf8 --!--
from __future__ import print_function
from __future__ import unicode_literals
from PyQt4.QtCore import *
from PyQt4.QtGui import *
class collapsibleGroupBox(QGroupBox):
def __init__(self, parent=None):
QGroupBox.__init__(self)
self.toggled.connect(self.setExpanded)
self.tempWidget = QWidget()
def setExpanded(self, val):
self.setCollapsed(not val)
def setCollapsed(self, val):
if val:
# Save layout
self.tempWidget.setLayout(self.layout())
# Set empty layout
l = QVBoxLayout()
#print(l.contentsMargins().left(), l.contentsMargins().bottom(), l.contentsMargins().top(), )
l.setContentsMargins(0, 0, 0, 0)
self.setLayout(l)
self.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.Fixed)
else:
# Delete layout
QWidget().setLayout(self.layout())
# Set saved layout
self.setLayout(self.tempWidget.layout())
self.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.Preferred)