diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/QtUiTools/CMakeLists.txt | 1 | ||||
-rw-r--r-- | tests/QtUiTools/bug_1135.py | 29 | ||||
-rw-r--r-- | tests/QtUiTools/bug_1135.ui | 65 |
3 files changed, 95 insertions, 0 deletions
diff --git a/tests/QtUiTools/CMakeLists.txt b/tests/QtUiTools/CMakeLists.txt index 39e2e94..f187581 100644 --- a/tests/QtUiTools/CMakeLists.txt +++ b/tests/QtUiTools/CMakeLists.txt @@ -9,6 +9,7 @@ PYSIDE_TEST(bug_913.py) PYSIDE_TEST(bug_958.py) PYSIDE_TEST(bug_965.py) PYSIDE_TEST(bug_1060.py) +PYSIDE_TEST(bug_1135.py) PYSIDE_TEST(bug_1138.py) PYSIDE_TEST(uiloader_test.py) PYSIDE_TEST(ui_test.py) diff --git a/tests/QtUiTools/bug_1135.py b/tests/QtUiTools/bug_1135.py new file mode 100644 index 0000000..4a82413 --- /dev/null +++ b/tests/QtUiTools/bug_1135.py @@ -0,0 +1,29 @@ +''' unit test for BUG #1135 ''' +''' see http://bugs.pyside.org/show_bug.cgi?id=1135 ''' + +from PySide.QtCore import * +from PySide.QtGui import * +from PySide.QtUiTools import QUiLoader +from helper import adjust_filename + +class CustomWidget(QFrame): + def __init__(self, parent=None): + super(CustomWidget, self).__init__(parent) + self.layout = QVBoxLayout() + self.label = QLabel("Custom widget") + self.layout.addWidget(self.label) + self.setLayout(self.layout) + +class CustomLoader(QUiLoader): + def __init__(self): + super(CustomLoader,self).__init__() + + def createWidget(self, className, parent=None, name=""): + return super(CustomLoader, self).createWidget(className, parent, name) + +if __name__ == "__main__": + app = QApplication([]) + loader = CustomLoader() + loader.registerCustomWidget(CustomWidget) + form = loader.load(adjust_filename("bug_1135.ui", __file__)) + form.show() diff --git a/tests/QtUiTools/bug_1135.ui b/tests/QtUiTools/bug_1135.ui new file mode 100644 index 0000000..539fc17 --- /dev/null +++ b/tests/QtUiTools/bug_1135.ui @@ -0,0 +1,65 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>Dialog</class> + <widget class="QDialog" name="Dialog"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>400</width> + <height>300</height> + </rect> + </property> + <property name="windowTitle"> + <string>Dialog</string> + </property> + <layout class="QHBoxLayout" name="horizontalLayout"> + <item> + <widget class="QScrollArea" name="scrollArea"> + <property name="widgetResizable"> + <bool>true</bool> + </property> + <widget class="QWidget" name="scrollAreaWidgetContents"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>380</width> + <height>280</height> + </rect> + </property> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <widget class="QPushButton" name="pushButton"> + <property name="text"> + <string>Regular widget</string> + </property> + </widget> + </item> + <item> + <widget class="CustomWidget" name="frame"> + <property name="frameShape"> + <enum>QFrame::StyledPanel</enum> + </property> + <property name="frameShadow"> + <enum>QFrame::Raised</enum> + </property> + </widget> + </item> + </layout> + </widget> + </widget> + </item> + </layout> + </widget> + <customwidgets> + <customwidget> + <class>CustomWidget</class> + <extends>QFrame</extends> + <header>customwidget.h</header> + <container>1</container> + </customwidget> + </customwidgets> + <resources/> + <connections/> +</ui> |