aboutsummaryrefslogtreecommitdiffstats
path: root/tests/QtGui/qstyle_test.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/QtGui/qstyle_test.py')
-rwxr-xr-xtests/QtGui/qstyle_test.py32
1 files changed, 32 insertions, 0 deletions
diff --git a/tests/QtGui/qstyle_test.py b/tests/QtGui/qstyle_test.py
new file mode 100755
index 000000000..da467e871
--- /dev/null
+++ b/tests/QtGui/qstyle_test.py
@@ -0,0 +1,32 @@
+
+import unittest
+from helper import UsesQApplication
+
+from PySide.QtGui import QWidget, QLabel, QFontComboBox, QStyleFactory
+
+class SetStyleTest(UsesQApplication):
+ '''Tests setting the same QStyle for all objects in a UI hierarchy.'''
+
+ def testSetStyle(self):
+ '''All this test have to do is not break with some invalid Python wrapper.'''
+
+ def setStyleHelper(widget, style):
+ widget.setStyle(style)
+ widget.setPalette(style.standardPalette())
+ for child in widget.children():
+ if isinstance(child, QWidget):
+ setStyleHelper(child, style)
+
+ container = QWidget()
+ # QFontComboBox is used because it has an QLineEdit created in C++ inside it,
+ # and if the QWidget.setStyle(style) steals the ownership of the style
+ # for the C++ originated widget everything will break.
+ fontComboBox = QFontComboBox(container)
+ label = QLabel(container)
+ label.setText('Label')
+ style = QStyleFactory.create(QStyleFactory.keys()[0])
+ setStyleHelper(container, style)
+
+if __name__ == '__main__':
+ unittest.main()
+