Updated tests, minor bug fixes, and merge lightv2 into light.
|
@ -219,7 +219,7 @@ MIT, see [license](/LICENSE.md).
|
||||||
|
|
||||||
To configure the assets and the stylesheets, run `configure.py`. To compile the assets and stylesheets for Python, run `pyrcc5 breeze.qrc -o breeze_resources.py`.
|
To configure the assets and the stylesheets, run `configure.py`. To compile the assets and stylesheets for Python, run `pyrcc5 breeze.qrc -o breeze_resources.py`.
|
||||||
|
|
||||||
In order to test your changes, first run the tests using the appropriate widget in `single.py` (see the options for `stylesheet`, `widget`, `font-size`, and `font-family`), and then run the tests with the complete UI in `example.py`. If the widget you fixed the style for does not exist in `example.py`, please add it.
|
In order to test your changes, first run the tests using the appropriate widget in `test.py` (see the options for `stylesheet`, `widget`, `font-size`, and `font-family`), and then run the tests with the complete UI in `example.py`. If the widget you fixed the style for does not exist in `example.py`, please add it.
|
||||||
|
|
||||||
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in BreezeStyleSheets by you shall be licensed under the MIT license without any additional terms or conditions.
|
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in BreezeStyleSheets by you shall be licensed under the MIT license without any additional terms or conditions.
|
||||||
|
|
||||||
|
|
89
breeze.qrc
|
@ -1,49 +1,5 @@
|
||||||
<RCC>
|
<RCC>
|
||||||
<qresource>
|
<qresource>
|
||||||
<file>light/branch_closed-on.svg</file>
|
|
||||||
<file>light/branch_closed.svg</file>
|
|
||||||
<file>light/branch_open-on.svg</file>
|
|
||||||
<file>light/branch_open.svg</file>
|
|
||||||
<file>light/checkbox_checked-hover.svg</file>
|
|
||||||
<file>light/checkbox_checked.svg</file>
|
|
||||||
<file>light/checkbox_checked_disabled.svg</file>
|
|
||||||
<file>light/checkbox_indeterminate-hover.svg</file>
|
|
||||||
<file>light/checkbox_indeterminate.svg</file>
|
|
||||||
<file>light/checkbox_indeterminate_disabled.svg</file>
|
|
||||||
<file>light/checkbox_unchecked-hover.svg</file>
|
|
||||||
<file>light/checkbox_unchecked_disabled.svg</file>
|
|
||||||
<file>light/close-hover.svg</file>
|
|
||||||
<file>light/close-pressed.svg</file>
|
|
||||||
<file>light/close.svg</file>
|
|
||||||
<file>light/down_arrow-hover.svg</file>
|
|
||||||
<file>light/down_arrow.svg</file>
|
|
||||||
<file>light/down_arrow_disabled.svg</file>
|
|
||||||
<file>light/hmovetoolbar.svg</file>
|
|
||||||
<file>light/hsepartoolbar.svg</file>
|
|
||||||
<file>light/left_arrow.svg</file>
|
|
||||||
<file>light/left_arrow_disabled.svg</file>
|
|
||||||
<file>light/radio_checked-hover.svg</file>
|
|
||||||
<file>light/radio_checked.svg</file>
|
|
||||||
<file>light/radio_checked_disabled.svg</file>
|
|
||||||
<file>light/radio_unchecked-hover.svg</file>
|
|
||||||
<file>light/radio_unchecked_disabled.svg</file>
|
|
||||||
<file>light/right_arrow.svg</file>
|
|
||||||
<file>light/right_arrow_disabled.svg</file>
|
|
||||||
<file>light/sizegrip.svg</file>
|
|
||||||
<file>light/stylesheet-branch-end-closed.svg</file>
|
|
||||||
<file>light/stylesheet-branch-end-open.svg</file>
|
|
||||||
<file>light/stylesheet-branch-end.svg</file>
|
|
||||||
<file>light/stylesheet-branch-more.svg</file>
|
|
||||||
<file>light/stylesheet-vline.svg</file>
|
|
||||||
<file>light/transparent.svg</file>
|
|
||||||
<file>light/undock-hover.svg</file>
|
|
||||||
<file>light/undock.svg</file>
|
|
||||||
<file>light/up_arrow-hover.svg</file>
|
|
||||||
<file>light/up_arrow.svg</file>
|
|
||||||
<file>light/up_arrow_disabled.svg</file>
|
|
||||||
<file>light/vmovetoolbar.svg</file>
|
|
||||||
<file>light/vsepartoolbars.svg</file>
|
|
||||||
<file>light/stylesheet.qss</file>
|
|
||||||
<file>dark/branch_closed.svg</file>
|
<file>dark/branch_closed.svg</file>
|
||||||
<file>dark/branch_closed_hover.svg</file>
|
<file>dark/branch_closed_hover.svg</file>
|
||||||
<file>dark/branch_end.svg</file>
|
<file>dark/branch_end.svg</file>
|
||||||
|
@ -77,6 +33,7 @@
|
||||||
<file>dark/right_arrow.svg</file>
|
<file>dark/right_arrow.svg</file>
|
||||||
<file>dark/right_arrow_disabled.svg</file>
|
<file>dark/right_arrow_disabled.svg</file>
|
||||||
<file>dark/sizegrip.svg</file>
|
<file>dark/sizegrip.svg</file>
|
||||||
|
<file>dark/stylesheet.qss</file>
|
||||||
<file>dark/transparent.svg</file>
|
<file>dark/transparent.svg</file>
|
||||||
<file>dark/undock.svg</file>
|
<file>dark/undock.svg</file>
|
||||||
<file>dark/undock_hover.svg</file>
|
<file>dark/undock_hover.svg</file>
|
||||||
|
@ -86,6 +43,48 @@
|
||||||
<file>dark/vline.svg</file>
|
<file>dark/vline.svg</file>
|
||||||
<file>dark/vmovetoolbar.svg</file>
|
<file>dark/vmovetoolbar.svg</file>
|
||||||
<file>dark/vseptoolbar.svg</file>
|
<file>dark/vseptoolbar.svg</file>
|
||||||
<file>dark/stylesheet.qss</file>
|
<file>light/branch_closed.svg</file>
|
||||||
|
<file>light/branch_closed_hover.svg</file>
|
||||||
|
<file>light/branch_end.svg</file>
|
||||||
|
<file>light/branch_end_arrow.svg</file>
|
||||||
|
<file>light/branch_more.svg</file>
|
||||||
|
<file>light/branch_more_arrow.svg</file>
|
||||||
|
<file>light/branch_open.svg</file>
|
||||||
|
<file>light/branch_open_hover.svg</file>
|
||||||
|
<file>light/calendar_next.svg</file>
|
||||||
|
<file>light/calendar_previous.svg</file>
|
||||||
|
<file>light/checkbox_checked.svg</file>
|
||||||
|
<file>light/checkbox_checked_disabled.svg</file>
|
||||||
|
<file>light/checkbox_indeterminate.svg</file>
|
||||||
|
<file>light/checkbox_indeterminate_disabled.svg</file>
|
||||||
|
<file>light/checkbox_unchecked.svg</file>
|
||||||
|
<file>light/checkbox_unchecked_disabled.svg</file>
|
||||||
|
<file>light/close.svg</file>
|
||||||
|
<file>light/close_hover.svg</file>
|
||||||
|
<file>light/close_pressed.svg</file>
|
||||||
|
<file>light/down_arrow.svg</file>
|
||||||
|
<file>light/down_arrow_disabled.svg</file>
|
||||||
|
<file>light/down_arrow_hover.svg</file>
|
||||||
|
<file>light/hmovetoolbar.svg</file>
|
||||||
|
<file>light/hseptoolbar.svg</file>
|
||||||
|
<file>light/left_arrow.svg</file>
|
||||||
|
<file>light/left_arrow_disabled.svg</file>
|
||||||
|
<file>light/radio_checked.svg</file>
|
||||||
|
<file>light/radio_checked_disabled.svg</file>
|
||||||
|
<file>light/radio_unchecked.svg</file>
|
||||||
|
<file>light/radio_unchecked_disabled.svg</file>
|
||||||
|
<file>light/right_arrow.svg</file>
|
||||||
|
<file>light/right_arrow_disabled.svg</file>
|
||||||
|
<file>light/sizegrip.svg</file>
|
||||||
|
<file>light/stylesheet.qss</file>
|
||||||
|
<file>light/transparent.svg</file>
|
||||||
|
<file>light/undock.svg</file>
|
||||||
|
<file>light/undock_hover.svg</file>
|
||||||
|
<file>light/up_arrow.svg</file>
|
||||||
|
<file>light/up_arrow_disabled.svg</file>
|
||||||
|
<file>light/up_arrow_hover.svg</file>
|
||||||
|
<file>light/vline.svg</file>
|
||||||
|
<file>light/vmovetoolbar.svg</file>
|
||||||
|
<file>light/vseptoolbar.svg</file>
|
||||||
</qresource>
|
</qresource>
|
||||||
</RCC>
|
</RCC>
|
||||||
|
|
8311
breeze_resources.py
|
@ -757,7 +757,7 @@ QPushButton:disabled
|
||||||
|
|
||||||
QPushButton:focus
|
QPushButton:focus
|
||||||
{
|
{
|
||||||
color: white;
|
color: #eff0f1;
|
||||||
}
|
}
|
||||||
|
|
||||||
QPushButton:pressed
|
QPushButton:pressed
|
||||||
|
@ -765,6 +765,7 @@ QPushButton:pressed
|
||||||
background-color: #454a4f;
|
background-color: #454a4f;
|
||||||
padding-top: -0.65em;
|
padding-top: -0.65em;
|
||||||
padding-bottom: -0.74em;
|
padding-bottom: -0.74em;
|
||||||
|
color: #eff0f1;
|
||||||
}
|
}
|
||||||
|
|
||||||
QComboBox
|
QComboBox
|
||||||
|
@ -784,6 +785,7 @@ QPushButton:checked
|
||||||
{
|
{
|
||||||
background-color: #626568;
|
background-color: #626568;
|
||||||
border: 0.04em solid #76797c;
|
border: 0.04em solid #76797c;
|
||||||
|
color: #eff0f1;
|
||||||
}
|
}
|
||||||
|
|
||||||
QPushButton:hover
|
QPushButton:hover
|
||||||
|
@ -939,7 +941,7 @@ QAbstractSpinBox::down-arrow:off
|
||||||
border-image: url(:/dark/down_arrow_disabled.svg);
|
border-image: url(:/dark/down_arrow_disabled.svg);
|
||||||
}
|
}
|
||||||
|
|
||||||
QAbstractSpinBox::down-arrow:hover
|
QAbstractSpinBox::down-arrow:!off:!disabled:hover
|
||||||
{
|
{
|
||||||
border-image: url(:/dark/down_arrow_hover.svg);
|
border-image: url(:/dark/down_arrow_hover.svg);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +0,0 @@
|
||||||
<svg width="6" height="9">
|
|
||||||
<path fill="#000" fill-rule="evenodd" d="M1,8V1L5,4.5Z"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 94 B |
|
@ -1,3 +1,5 @@
|
||||||
<svg width="12" height="18">
|
<svg width="240" height="360">
|
||||||
<path fill="#4b4b4b" d="M5,12V6L9,9Z"/>
|
<g transform="scale(20) translate(3 5.5)">
|
||||||
|
<path d="m 0.9166972,1.1894593 3.310321,3.3105408 -3.3117417,3.3105408 c -0.157702,0.1577125 -0.157702,0.4134624 0,0.5711749 0.157702,0.1577123 0.4134349,0.1577123 0.5711369,0 l 3.5973102,-3.5961283 0,0 0,0 c 0.1577019,-0.1577124 0.1577019,-0.4134624 0,-0.5711748 L 1.4864134,0.61828437 c -0.157702,-0.1577124 -0.4134349,-0.1577124 -0.5711369,0 -0.1562813,0.1577125 -0.1562813,0.41346243 0.00142,0.57117493 z" fill="#4b4b4b" fill-opacity="1.0"/>
|
||||||
|
</g>
|
||||||
</svg>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 78 B After Width: | Height: | Size: 540 B |
|
@ -0,0 +1,5 @@
|
||||||
|
<svg width="240" height="360">
|
||||||
|
<g transform="scale(20) translate(3 5.5)">
|
||||||
|
<path d="m 0.9166972,1.1894593 3.310321,3.3105408 -3.3117417,3.3105408 c -0.157702,0.1577125 -0.157702,0.4134624 0,0.5711749 0.157702,0.1577123 0.4134349,0.1577123 0.5711369,0 l 3.5973102,-3.5961283 0,0 0,0 c 0.1577019,-0.1577124 0.1577019,-0.4134624 0,-0.5711748 L 1.4864134,0.61828437 c -0.157702,-0.1577124 -0.4134349,-0.1577124 -0.5711369,0 -0.1562813,0.1577125 -0.1562813,0.41346243 0.00142,0.57117493 z" fill="#33a4df" fill-opacity="0.5"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 540 B |
|
@ -0,0 +1,6 @@
|
||||||
|
<svg width="405" height="290">
|
||||||
|
<g transform="scale(5)">
|
||||||
|
<rect id="VLine" fill="#4b4b4b" x="36" width="3" height="29.75"/>
|
||||||
|
<rect id="HLine" fill="#4b4b4b" x="36" y="29.75" height="2" width="45"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 219 B |
|
@ -0,0 +1,6 @@
|
||||||
|
<svg width="405" height="290">
|
||||||
|
<g transform="scale(5)">
|
||||||
|
<rect fill="#4b4b4b" x="36" width="3" height="17"/>
|
||||||
|
<rect fill="#4b4b4b" x="66" y="29.75" height="2" width="15"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 194 B |
|
@ -0,0 +1,6 @@
|
||||||
|
<svg width="405" height="290">
|
||||||
|
<g transform="scale(5)">
|
||||||
|
<rect fill="#4b4b4b" x="36" width="3" height="58"/>
|
||||||
|
<rect fill="#4b4b4b" x="36" y="29.75" height="2" width="45"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 194 B |
|
@ -0,0 +1,7 @@
|
||||||
|
<svg width="405" height="290">
|
||||||
|
<g transform="scale(5)">
|
||||||
|
<rect fill="#4b4b4b" x="36" width="3" height="17"/>
|
||||||
|
<rect fill="#4b4b4b" x="36" y="47" width="3" height="11"/>
|
||||||
|
<rect fill="#4b4b4b" x="66" y="29.75" height="2" width="15"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 257 B |
|
@ -1,3 +0,0 @@
|
||||||
<svg width="9" height="6">
|
|
||||||
<path fill="#000" d="M1,1H8L4.5,5Z"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 74 B |
|
@ -1,3 +1,5 @@
|
||||||
<svg width="18" height="12">
|
<svg width="240" height="360">
|
||||||
<path fill="#4b4b4b" d="M5.5,3H12.5L9,9Z"/>
|
<g transform="scale(20) translate(10 7.5) rotate(90)">
|
||||||
|
<path d="m 0.9166972,1.1894593 3.310321,3.3105408 -3.3117417,3.3105408 c -0.157702,0.1577125 -0.157702,0.4134624 0,0.5711749 0.157702,0.1577123 0.4134349,0.1577123 0.5711369,0 l 3.5973102,-3.5961283 0,0 0,0 c 0.1577019,-0.1577124 0.1577019,-0.4134624 0,-0.5711748 L 1.4864134,0.61828437 c -0.157702,-0.1577124 -0.4134349,-0.1577124 -0.5711369,0 -0.1562813,0.1577125 -0.1562813,0.41346243 0.00142,0.57117493 z" fill="#4b4b4b" fill-opacity="1.0"/>
|
||||||
|
</g>
|
||||||
</svg>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 82 B After Width: | Height: | Size: 552 B |
|
@ -0,0 +1,5 @@
|
||||||
|
<svg width="240" height="360">
|
||||||
|
<g transform="scale(20) translate(10 7.5) rotate(90)">
|
||||||
|
<path d="m 0.9166972,1.1894593 3.310321,3.3105408 -3.3117417,3.3105408 c -0.157702,0.1577125 -0.157702,0.4134624 0,0.5711749 0.157702,0.1577123 0.4134349,0.1577123 0.5711369,0 l 3.5973102,-3.5961283 0,0 0,0 c 0.1577019,-0.1577124 0.1577019,-0.4134624 0,-0.5711748 L 1.4864134,0.61828437 c -0.157702,-0.1577124 -0.4134349,-0.1577124 -0.5711369,0 -0.1562813,0.1577125 -0.1562813,0.41346243 0.00142,0.57117493 z" fill="#33a4df" fill-opacity="0.5"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 552 B |
|
@ -0,0 +1,5 @@
|
||||||
|
<svg width="90" height="90">
|
||||||
|
<g transform="scale(10)">
|
||||||
|
<path d="m 0.9166972,1.1894593 3.310321,3.3105408 -3.3117417,3.3105408 c -0.157702,0.1577125 -0.157702,0.4134624 0,0.5711749 0.157702,0.1577123 0.4134349,0.1577123 0.5711369,0 l 3.5973102,-3.5961283 0,0 0,0 c 0.1577019,-0.1577124 0.1577019,-0.4134624 0,-0.5711748 L 1.4864134,0.61828437 c -0.157702,-0.1577124 -0.4134349,-0.1577124 -0.5711369,0 -0.1562813,0.1577125 -0.1562813,0.41346243 0.00142,0.57117493 z" fill="#31363b"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 502 B |
|
@ -0,0 +1,5 @@
|
||||||
|
<svg width="90" height="90">
|
||||||
|
<g transform="scale(10)">
|
||||||
|
<path d="m 5.0823028,1.1894593 -3.310321,3.3105408 3.3117417,3.3105408 c 0.157702,0.1577125 0.157702,0.4134624 0,0.5711749 -0.157702,0.1577123 -0.4134349,0.1577123 -0.5711369,0 l -3.59731017,-3.5961283 0,0 0,0 c -0.15770191,-0.1577124 -0.15770191,-0.4134624 0,-0.5711748 L 4.5125866,0.61828437 c 0.157702,-0.1577124 0.4134349,-0.1577124 0.5711369,0 0.1562813,0.1577125 0.1562813,0.41346243 -0.00142,0.57117493 z" fill="#31363b"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 505 B |
|
@ -1,5 +0,0 @@
|
||||||
<svg x="0px" y="0px" width="18px" height="18px" viewBox="0 0 18 18" enable-background="new 0 0 18 18" xml:space="preserve">
|
|
||||||
<path d="M2,2 h14 v14 h-0.9 v-13.1 h-13.1 z" fill="#51c2fc"/>
|
|
||||||
<path d="M16,16 h-14 v-14 h0.9 v13.1 h13.1 z" fill="#51c2fc"/>
|
|
||||||
<path d="M5,5 h8 v8 h-8 v-8 z" fill="#51c2fc" fill-rule="evenodd"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 330 B |
|
@ -1,5 +1,7 @@
|
||||||
<svg x="0px" y="0px" width="18px" height="18px" viewBox="0 0 18 18" enable-background="new 0 0 18 18" xml:space="preserve">
|
<svg width="90" height="90">
|
||||||
<path d="M2,2 h14 v14 h-0.9 v-13.1 h-13.1 z" fill="#3daee9"/>
|
<g transform="scale(5)">
|
||||||
<path d="M16,16 h-14 v-14 h0.9 v13.1 h13.1 z" fill="#3daee9"/>
|
<path d="M2,2 h14 v14 h-0.9 v-13.1 h-13.1 z" fill="#272b2f"/>
|
||||||
<path d="M5,5 h8 v8 h-8 v-8 z" fill="#3daee9" fill-rule="evenodd"/>
|
<path d="M16,16 h-14 v-14 h0.9 v13.1 h13.1 z" fill="#272b2f"/>
|
||||||
|
<path d="M5,5 h8 v8 h-8 v-8 z" fill="#272b2f" fill-rule="evenodd"/>
|
||||||
|
</g>
|
||||||
</svg>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 330 B After Width: | Height: | Size: 275 B |
|
@ -1,5 +1,7 @@
|
||||||
<svg x="0px" y="0px" width="18px" height="18px" viewBox="0 0 18 18" enable-background="new 0 0 18 18" xml:space="preserve">
|
<svg width="90" height="90">
|
||||||
<path d="M2,2 h14 v14 h-0.9 v-13.1 h-13.1 z" fill="#31363B"/>
|
<g transform="scale(5)">
|
||||||
<path d="M16,16 h-14 v-14 h0.9 v13.1 h13.1 z" fill="#31363B"/>
|
<path d="M2,2 h14 v14 h-0.9 v-13.1 h-13.1 z" fill="#6a6e71"/>
|
||||||
<path d="M5,5 h8 v8 h-8 v-8 z" fill="#31363B" fill-rule="evenodd"/>
|
<path d="M16,16 h-14 v-14 h0.9 v13.1 h13.1 z" fill="#6a6e71"/>
|
||||||
|
<path d="M5,5 h8 v8 h-8 v-8 z" fill="#6a6e71" fill-rule="evenodd"/>
|
||||||
|
</g>
|
||||||
</svg>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 330 B After Width: | Height: | Size: 275 B |
|
@ -1,7 +0,0 @@
|
||||||
<svg x="0px" y="0px" width="18px" height="18px" viewBox="0 0 18 18" enable-background="new 0 0 18 18" xml:space="preserve">
|
|
||||||
<path d="M2,2 h14 v14 h-0.9 v-13.1 h-13.1 z" fill="#51c2fc"/>
|
|
||||||
<path d="M16,16 h-14 v-14 h0.9 v13.1 h13.1 z" fill="#51c2fc"/>
|
|
||||||
<path d="M5,5 h8 v8 h-0.9 v-7.1 h-7.1 z" fill="#51c2fc" fill-rule="evenodd"/>
|
|
||||||
<path d="M13,13 h-8 v-8 h0.9 v7.1 h7.1 z" fill="#51c2fc" fill-rule="evenodd"/>
|
|
||||||
<path d="M13,5 L 5,13 v-8 h8 z" fill="#51c2fc" fill-rule="evenodd"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 492 B |
|
@ -1,7 +1,9 @@
|
||||||
<svg x="0px" y="0px" width="18px" height="18px" viewBox="0 0 18 18" enable-background="new 0 0 18 18" xml:space="preserve">
|
<svg width="90" height="90">
|
||||||
<path d="M2,2 h14 v14 h-0.9 v-13.1 h-13.1 z" fill="#3daee9"/>
|
<g transform="scale(5)">
|
||||||
<path d="M16,16 h-14 v-14 h0.9 v13.1 h13.1 z" fill="#3daee9"/>
|
<path d="M2,2 h14 v14 h-0.9 v-13.1 h-13.1 z" fill="#272b2f"/>
|
||||||
<path d="M5,5 h8 v8 h-0.9 v-7.1 h-7.1 z" fill="#3daee9" fill-rule="evenodd"/>
|
<path d="M16,16 h-14 v-14 h0.9 v13.1 h13.1 z" fill="#272b2f"/>
|
||||||
<path d="M13,13 h-8 v-8 h0.9 v7.1 h7.1 z" fill="#3daee9" fill-rule="evenodd"/>
|
<path d="M5,5 h8 v8 h-0.9 v-7.1 h-7.1 z" fill="#272b2f" fill-rule="evenodd"/>
|
||||||
<path d="M13,5 L 5,13 v-8 h8 z" fill="#3daee9" fill-rule="evenodd"/>
|
<path d="M13,13 h-8 v-8 h0.9 v7.1 h7.1 z" fill="#272b2f" fill-rule="evenodd"/>
|
||||||
|
<path d="M13,5 L 5,13 v-8 h8 z" fill="#272b2f" fill-rule="evenodd"/>
|
||||||
|
</g>
|
||||||
</svg>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 492 B After Width: | Height: | Size: 441 B |
|
@ -1,7 +1,9 @@
|
||||||
<svg x="0px" y="0px" width="18px" height="18px" viewBox="0 0 18 18" enable-background="new 0 0 18 18" xml:space="preserve">
|
<svg width="90" height="90">
|
||||||
<path d="M2,2 h14 v14 h-0.9 v-13.1 h-13.1 z" fill="#31363B"/>
|
<g transform="scale(5)">
|
||||||
<path d="M16,16 h-14 v-14 h0.9 v13.1 h13.1 z" fill="#31363B"/>
|
<path d="M2,2 h14 v14 h-0.9 v-13.1 h-13.1 z" fill="#6a6e71"/>
|
||||||
<path d="M5,5 h8 v8 h-0.9 v-7.1 h-7.1 z" fill="#31363B" fill-rule="evenodd"/>
|
<path d="M16,16 h-14 v-14 h0.9 v13.1 h13.1 z" fill="#6a6e71"/>
|
||||||
<path d="M13,13 h-8 v-8 h0.9 v7.1 h7.1 z" fill="#31363B" fill-rule="evenodd"/>
|
<path d="M5,5 h8 v8 h-0.9 v-7.1 h-7.1 z" fill="#6a6e71" fill-rule="evenodd"/>
|
||||||
<path d="M13,5 L 5,13 v-8 h8 z" fill="#31363B" fill-rule="evenodd"/>
|
<path d="M13,13 h-8 v-8 h0.9 v7.1 h7.1 z" fill="#6a6e71" fill-rule="evenodd"/>
|
||||||
|
<path d="M13,5 L 5,13 v-8 h8 z" fill="#6a6e71" fill-rule="evenodd"/>
|
||||||
|
</g>
|
||||||
</svg>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 492 B After Width: | Height: | Size: 441 B |
|
@ -1,4 +0,0 @@
|
||||||
<svg x="0px" y="0px" width="18px" height="18px" viewBox="0 0 18 18" enable-background="new 0 0 18 18" xml:space="preserve">
|
|
||||||
<path d="M2,2 h14 v14 h-0.9 v-13.1 h-13.1 z" fill="#51c2fc"/>
|
|
||||||
<path d="M16,16 h-14 v-14 h0.9 v13.1 h13.1 z" fill="#51c2fc"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 260 B |
|
@ -0,0 +1,6 @@
|
||||||
|
<svg width="90" height="90">
|
||||||
|
<g transform="scale(5)">
|
||||||
|
<path d="M2,2 h14 v14 h-0.9 v-13.1 h-13.1 z" fill="#272b2f"/>
|
||||||
|
<path d="M16,16 h-14 v-14 h0.9 v13.1 h13.1 z" fill="#272b2f"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 203 B |
|
@ -1,4 +1,6 @@
|
||||||
<svg x="0px" y="0px" width="18px" height="18px" viewBox="0 0 18 18" enable-background="new 0 0 18 18" xml:space="preserve">
|
<svg width="90" height="90">
|
||||||
<path d="M2,2 h14 v14 h-0.9 v-13.1 h-13.1 z" fill="#31363B"/>
|
<g transform="scale(5)">
|
||||||
<path d="M16,16 h-14 v-14 h0.9 v13.1 h13.1 z" fill="#31363B"/>
|
<path d="M2,2 h14 v14 h-0.9 v-13.1 h-13.1 z" fill="#6a6e71"/>
|
||||||
|
<path d="M16,16 h-14 v-14 h0.9 v13.1 h13.1 z" fill="#6a6e71"/>
|
||||||
|
</g>
|
||||||
</svg>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 260 B After Width: | Height: | Size: 203 B |
|
@ -1,3 +0,0 @@
|
||||||
<svg width="1200" height="1200">
|
|
||||||
<path d="M 600,1050 C 351.472,1050 150,848.528 150,600 150,351.472 351.472,150 600,150 c 248.528,0 450,201.472 450,450 0,248.528 -201.472,450 -450,450 z M 888.462,827.851 661.974,601.122 l 0,-2.244 226.488,-226.729 0,-60.611 -60.848,0 Q 727.339,411.986 627.043,512.451 613.524,525.358 600,538.267 l -226.487,-226.729 -61.975,0 0,60.611 L 538.026,600 311.538,826.729 l 0,61.733 60.848,0 q 34.363,-34.792 68.735,-69.59 L 600,661.733 l 226.487,226.729 61.975,0 0,-60.611 z" fill="#dc7676"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 530 B |
|
@ -1,3 +0,0 @@
|
||||||
<svg width="1200" height="1200">
|
|
||||||
<path d="M 600,1050 C 351.472,1050 150,848.528 150,600 150,351.472 351.472,150 600,150 c 248.528,0 450,201.472 450,450 0,248.528 -201.472,450 -450,450 z M 888.462,827.851 661.974,601.122 l 0,-2.244 226.488,-226.729 0,-60.611 -60.848,0 Q 727.339,411.986 627.043,512.451 613.524,525.358 600,538.267 l -226.487,-226.729 -61.975,0 0,60.611 L 538.026,600 311.538,826.729 l 0,61.733 60.848,0 q 34.363,-34.792 68.735,-69.59 L 600,661.733 l 226.487,226.729 61.975,0 0,-60.611 z" fill="#b33e3e"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 530 B |
|
@ -1,3 +1,5 @@
|
||||||
<svg width="1200" height="1200">
|
<svg width="160" height="160">
|
||||||
<path d="M 600,1050 C 351.472,1050 150,848.528 150,600 150,351.472 351.472,150 600,150 c 248.528,0 450,201.472 450,450 0,248.528 -201.472,450 -450,450 z M 888.462,827.851 661.974,601.122 l 0,-2.244 226.488,-226.729 0,-60.611 -60.848,0 Q 727.339,411.986 627.043,512.451 613.524,525.358 600,538.267 l -226.487,-226.729 -61.975,0 0,60.611 L 538.026,600 311.538,826.729 l 0,61.733 60.848,0 q 34.363,-34.792 68.735,-69.59 L 600,661.733 l 226.487,226.729 61.975,0 0,-60.611 z" fill="#626568"/>
|
<g>
|
||||||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M 79.796875 10 A 70 70 0 0 0 10 80 A 70 70 0 0 0 80 150 A 70 70 0 0 0 150 80 A 70 70 0 0 0 80 10 A 70 70 0 0 0 79.796875 10 z M 110.93359 38.5 C 114.11991 38.491338 117.30995 39.711206 119.74805 42.160156 C 124.62075 47.056656 124.64102 55.0179 119.79492 59.9375 L 98.519531 81.515625 L 119.81836 103.11523 C 124.62456 107.99983 124.55858 115.91021 119.67188 120.78711 C 114.78378 125.66191 106.92589 125.64952 102.12109 120.76562 L 80.96875 99.316406 L 59.777344 120.80664 C 54.928444 125.73044 47.044169 125.75142 42.167969 120.85352 C 37.295269 115.95702 37.274294 107.99577 42.121094 103.07617 L 63.396484 81.496094 L 42.099609 59.898438 C 37.292709 55.013838 37.357441 47.101509 42.244141 42.224609 C 47.132241 37.350509 54.992075 37.362194 59.796875 42.246094 L 80.949219 63.697266 L 102.14062 42.207031 C 104.56508 39.745131 107.74728 38.508662 110.93359 38.5 z " fill="#6a6969" fill-opacity="0.7"/>
|
||||||
|
</g>
|
||||||
</svg>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 530 B After Width: | Height: | Size: 1011 B |
|
@ -0,0 +1,5 @@
|
||||||
|
<svg width="160" height="160">
|
||||||
|
<g>
|
||||||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M 79.796875 10 A 70 70 0 0 0 10 80 A 70 70 0 0 0 80 150 A 70 70 0 0 0 150 80 A 70 70 0 0 0 80 10 A 70 70 0 0 0 79.796875 10 z M 110.93359 38.5 C 114.11991 38.491338 117.30995 39.711206 119.74805 42.160156 C 124.62075 47.056656 124.64102 55.0179 119.79492 59.9375 L 98.519531 81.515625 L 119.81836 103.11523 C 124.62456 107.99983 124.55858 115.91021 119.67188 120.78711 C 114.78378 125.66191 106.92589 125.64952 102.12109 120.76562 L 80.96875 99.316406 L 59.777344 120.80664 C 54.928444 125.73044 47.044169 125.75142 42.167969 120.85352 C 37.295269 115.95702 37.274294 107.99577 42.121094 103.07617 L 63.396484 81.496094 L 42.099609 59.898438 C 37.292709 55.013838 37.357441 47.101509 42.244141 42.224609 C 47.132241 37.350509 54.992075 37.362194 59.796875 42.246094 L 80.949219 63.697266 L 102.14062 42.207031 C 104.56508 39.745131 107.74728 38.508662 110.93359 38.5 z " fill="#dc7676" fill-opacity="1.0"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1011 B |
|
@ -0,0 +1,5 @@
|
||||||
|
<svg width="160" height="160">
|
||||||
|
<g>
|
||||||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M 79.796875 10 A 70 70 0 0 0 10 80 A 70 70 0 0 0 80 150 A 70 70 0 0 0 150 80 A 70 70 0 0 0 80 10 A 70 70 0 0 0 79.796875 10 z M 110.93359 38.5 C 114.11991 38.491338 117.30995 39.711206 119.74805 42.160156 C 124.62075 47.056656 124.64102 55.0179 119.79492 59.9375 L 98.519531 81.515625 L 119.81836 103.11523 C 124.62456 107.99983 124.55858 115.91021 119.67188 120.78711 C 114.78378 125.66191 106.92589 125.64952 102.12109 120.76562 L 80.96875 99.316406 L 59.777344 120.80664 C 54.928444 125.73044 47.044169 125.75142 42.167969 120.85352 C 37.295269 115.95702 37.274294 107.99577 42.121094 103.07617 L 63.396484 81.496094 L 42.099609 59.898438 C 37.292709 55.013838 37.357441 47.101509 42.244141 42.224609 C 47.132241 37.350509 54.992075 37.362194 59.796875 42.246094 L 80.949219 63.697266 L 102.14062 42.207031 C 104.56508 39.745131 107.74728 38.508662 110.93359 38.5 z " fill="#b33e3e" fill-opacity="1.0"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1011 B |
|
@ -1,3 +0,0 @@
|
||||||
<svg x="0px" y="0px" width="9px" height="6px" viewBox="0 0 9 6" enable-background="new 0 0 9 6" xml:space="preserve">
|
|
||||||
<path d="M 1.1894592,0.91769718 4.5,4.2280182 7.8105408,0.91627648 c 0.1577125,-0.157702 0.4134624,-0.157702 0.5711749,0 0.1577124,0.15770202 0.1577124,0.41343492 0,0.57113692 l -3.5961283,3.5973102 0,0 0,0 c -0.1577124,0.1577019 -0.4134624,0.1577019 -0.5711748,0 L 0.6182843,1.4874134 c -0.1577124,-0.157702 -0.1577124,-0.4134349 0,-0.57113692 0.1577125,-0.15628131 0.4134624,-0.15628131 0.5711749,0.00142 z" fill="#3daee9"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 554 B |
|
@ -1,3 +1,5 @@
|
||||||
<svg x="0px" y="0px" width="9px" height="6px" viewBox="0 0 9 6" enable-background="new 0 0 9 6" xml:space="preserve">
|
<svg width="90" height="60">
|
||||||
<path d="M 1.1894592,0.91769718 4.5,4.2280182 7.8105408,0.91627648 c 0.1577125,-0.157702 0.4134624,-0.157702 0.5711749,0 0.1577124,0.15770202 0.1577124,0.41343492 0,0.57113692 l -3.5961283,3.5973102 0,0 0,0 c -0.1577124,0.1577019 -0.4134624,0.1577019 -0.5711748,0 L 0.6182843,1.4874134 c -0.1577124,-0.157702 -0.1577124,-0.4134349 0,-0.57113692 0.1577125,-0.15628131 0.4134624,-0.15628131 0.5711749,0.00142 z" fill="#31363B"/>
|
<g transform="scale(10)">
|
||||||
|
<path d="M 1.1894592,0.91769718 4.5,4.2280182 7.8105408,0.91627648 c 0.1577125,-0.157702 0.4134624,-0.157702 0.5711749,0 0.1577124,0.15770202 0.1577124,0.41343492 0,0.57113692 l -3.5961283,3.5973102 0,0 0,0 c -0.1577124,0.1577019 -0.4134624,0.1577019 -0.5711748,0 L 0.6182843,1.4874134 c -0.1577124,-0.157702 -0.1577124,-0.4134349 0,-0.57113692 0.1577125,-0.15628131 0.4134624,-0.15628131 0.5711749,0.00142 z" fill="#31363b" fill-opacity="1.0"/>
|
||||||
|
</g>
|
||||||
</svg>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 554 B After Width: | Height: | Size: 521 B |
|
@ -1,3 +1,5 @@
|
||||||
<svg x="0px" y="0px" width="9px" height="6px" viewBox="0 0 9 6" enable-background="new 0 0 9 6" xml:space="preserve">
|
<svg width="90" height="60">
|
||||||
<path d="M 1.1894592,0.91769718 4.5,4.2280182 7.8105408,0.91627648 c 0.1577125,-0.157702 0.4134624,-0.157702 0.5711749,0 0.1577124,0.15770202 0.1577124,0.41343492 0,0.57113692 l -3.5961283,3.5973102 0,0 0,0 c -0.1577124,0.1577019 -0.4134624,0.1577019 -0.5711748,0 L 0.6182843,1.4874134 c -0.1577124,-0.157702 -0.1577124,-0.4134349 0,-0.57113692 0.1577125,-0.15628131 0.4134624,-0.15628131 0.5711749,0.00142 z" fill="#b0b0b0"/>
|
<g transform="scale(10)">
|
||||||
|
<path d="M 1.1894592,0.91769718 4.5,4.2280182 7.8105408,0.91627648 c 0.1577125,-0.157702 0.4134624,-0.157702 0.5711749,0 0.1577124,0.15770202 0.1577124,0.41343492 0,0.57113692 l -3.5961283,3.5973102 0,0 0,0 c -0.1577124,0.1577019 -0.4134624,0.1577019 -0.5711748,0 L 0.6182843,1.4874134 c -0.1577124,-0.157702 -0.1577124,-0.4134349 0,-0.57113692 0.1577125,-0.15628131 0.4134624,-0.15628131 0.5711749,0.00142 z" fill="#bab9b8" fill-opacity="1.0"/>
|
||||||
|
</g>
|
||||||
</svg>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 554 B After Width: | Height: | Size: 521 B |
|
@ -0,0 +1,5 @@
|
||||||
|
<svg width="90" height="60">
|
||||||
|
<g transform="scale(10)">
|
||||||
|
<path d="M 1.1894592,0.91769718 4.5,4.2280182 7.8105408,0.91627648 c 0.1577125,-0.157702 0.4134624,-0.157702 0.5711749,0 0.1577124,0.15770202 0.1577124,0.41343492 0,0.57113692 l -3.5961283,3.5973102 0,0 0,0 c -0.1577124,0.1577019 -0.4134624,0.1577019 -0.5711748,0 L 0.6182843,1.4874134 c -0.1577124,-0.157702 -0.1577124,-0.4134349 0,-0.57113692 0.1577125,-0.15628131 0.4134624,-0.15628131 0.5711749,0.00142 z" fill="#33a4df" fill-opacity="0.5"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 521 B |
|
@ -1,5 +1,4 @@
|
||||||
<svg x="0px" y="0px" width="16px" height="64px" viewBox="0 0 16 64" enable-background="new 0 0 16 64" xml:space="preserve">
|
<svg width="16" height="32">
|
||||||
<rect fill="#76797c" x="2" y="1" width="1" height="62.5"/>
|
<rect fill="#bab9b8" x="6" y="4" width="1" height="24"/>
|
||||||
<rect fill="#76797c" x="9" y="1" width="1" height="62.5"/>
|
<rect fill="#bab9b8" x="14" y="4" width="1" height="24"/>
|
||||||
</svg>
|
</svg>
|
||||||
|
|
||||||
|
|
Before Width: | Height: | Size: 254 B After Width: | Height: | Size: 159 B |
|
@ -1,3 +0,0 @@
|
||||||
<svg x="0px" y="0px" width="7px" height="63px" viewBox="0 0 7 63" enable-background="new 0 0 7 63" xml:space="preserve">
|
|
||||||
<rect fill="#76797c" x="2" y="13" width="1" height="37"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 188 B |
|
@ -0,0 +1,3 @@
|
||||||
|
<svg width="16" height="32">
|
||||||
|
<rect fill="#bab9b8" x="8" y="4" width="1" height="24"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 97 B |
|
@ -1,3 +1,5 @@
|
||||||
<svg x="0px" y="0px" width="6px" height="9px" viewBox="0 0 6 9" enable-background="new 0 0 6 9" xml:space="preserve">
|
<svg width="60" height="90">
|
||||||
<path d="m 5.0823028,1.1894593 -3.310321,3.3105408 3.3117417,3.3105408 c 0.157702,0.1577125 0.157702,0.4134624 0,0.5711749 -0.157702,0.1577123 -0.4134349,0.1577123 -0.5711369,0 l -3.59731017,-3.5961283 0,0 0,0 c -0.15770191,-0.1577124 -0.15770191,-0.4134624 0,-0.5711748 L 4.5125866,0.61828437 c 0.157702,-0.1577124 0.4134349,-0.1577124 0.5711369,0 0.1562813,0.1577125 0.1562813,0.41346243 -0.00142,0.57117493 z" fill="#31363B"/>
|
<g transform="scale(10)">
|
||||||
|
<path d="m 5.0823028,1.1894593 -3.310321,3.3105408 3.3117417,3.3105408 c 0.157702,0.1577125 0.157702,0.4134624 0,0.5711749 -0.157702,0.1577123 -0.4134349,0.1577123 -0.5711369,0 l -3.59731017,-3.5961283 0,0 0,0 c -0.15770191,-0.1577124 -0.15770191,-0.4134624 0,-0.5711748 L 4.5125866,0.61828437 c 0.157702,-0.1577124 0.4134349,-0.1577124 0.5711369,0 0.1562813,0.1577125 0.1562813,0.41346243 -0.00142,0.57117493 z" fill="#31363b"/>
|
||||||
|
</g>
|
||||||
</svg>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 557 B After Width: | Height: | Size: 505 B |
|
@ -1,3 +1,5 @@
|
||||||
<svg x="0px" y="0px" width="6px" height="9px" viewBox="0 0 6 9" enable-background="new 0 0 6 9" xml:space="preserve">
|
<svg width="60" height="90">
|
||||||
<path d="m 5.0823028,1.1894593 -3.310321,3.3105408 3.3117417,3.3105408 c 0.157702,0.1577125 0.157702,0.4134624 0,0.5711749 -0.157702,0.1577123 -0.4134349,0.1577123 -0.5711369,0 l -3.59731017,-3.5961283 0,0 0,0 c -0.15770191,-0.1577124 -0.15770191,-0.4134624 0,-0.5711748 L 4.5125866,0.61828437 c 0.157702,-0.1577124 0.4134349,-0.1577124 0.5711369,0 0.1562813,0.1577125 0.1562813,0.41346243 -0.00142,0.57117493 z" fill="#b0b0b0"/>
|
<g transform="scale(10)">
|
||||||
|
<path d="m 5.0823028,1.1894593 -3.310321,3.3105408 3.3117417,3.3105408 c 0.157702,0.1577125 0.157702,0.4134624 0,0.5711749 -0.157702,0.1577123 -0.4134349,0.1577123 -0.5711369,0 l -3.59731017,-3.5961283 0,0 0,0 c -0.15770191,-0.1577124 -0.15770191,-0.4134624 0,-0.5711748 L 4.5125866,0.61828437 c 0.157702,-0.1577124 0.4134349,-0.1577124 0.5711369,0 0.1562813,0.1577125 0.1562813,0.41346243 -0.00142,0.57117493 z" fill="#bab9b8"/>
|
||||||
|
</g>
|
||||||
</svg>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 557 B After Width: | Height: | Size: 505 B |
|
@ -1,5 +0,0 @@
|
||||||
<svg x="0px" y="0px" width="20px" height="20px" viewBox="0 0 20 20" enable-background="new 0 0 20 20" xml:space="preserve">
|
|
||||||
<path d="M1,10a9,9 0 1,0 18,0 h-0.9 a8.1,8.1 0 1,1 -16.2,0 h-0.9" fill="#51c2fc" fill-rule="evenodd"/>
|
|
||||||
<path d="M1,10a9,9 0 1,1 18,0 h-0.9 a8.1,8.1 0 1,0 -16.2,0 h-0.9" fill="#51c2fc" fill-rule="evenodd"/>
|
|
||||||
<path d="M4,10a6,6 0 1,0 12,0a6,6 0 1,0 -12,0" fill="#51c2fc" fill-rule="evenodd"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 427 B |
|
@ -1,5 +1,4 @@
|
||||||
<svg x="0px" y="0px" width="20px" height="20px" viewBox="0 0 20 20" enable-background="new 0 0 20 20" xml:space="preserve">
|
<svg width="100" height="100">
|
||||||
<path d="M1,10a9,9 0 1,0 18,0 h-0.9 a8.1,8.1 0 1,1 -16.2,0 h-0.9" fill="#3daee9" fill-rule="evenodd"/>
|
<circle cx="50" cy="50" r="35" stroke="#272b2f" stroke-width="10" fill="none" />
|
||||||
<path d="M1,10a9,9 0 1,1 18,0 h-0.9 a8.1,8.1 0 1,0 -16.2,0 h-0.9" fill="#3daee9" fill-rule="evenodd"/>
|
<circle cx="50" cy="50" r="17" fill="#272b2f" />
|
||||||
<path d="M4,10a6,6 0 1,0 12,0a6,6 0 1,0 -12,0" fill="#3daee9" fill-rule="evenodd"/>
|
|
||||||
</svg>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 427 B After Width: | Height: | Size: 172 B |
|
@ -1,5 +1,4 @@
|
||||||
<svg x="0px" y="0px" width="20px" height="20px" viewBox="0 0 20 20" enable-background="new 0 0 20 20" xml:space="preserve">
|
<svg width="100" height="100">
|
||||||
<path d="M1,10a9,9 0 1,0 18,0 h-0.9 a8.1,8.1 0 1,1 -16.2,0 h-0.9" fill="#31363B" fill-rule="evenodd"/>
|
<circle cx="50" cy="50" r="35" stroke="#6a6e71" stroke-width="10" fill="none" />
|
||||||
<path d="M1,10a9,9 0 1,1 18,0 h-0.9 a8.1,8.1 0 1,0 -16.2,0 h-0.9" fill="#31363B" fill-rule="evenodd"/>
|
<circle cx="50" cy="50" r="17" fill="#6a6e71" />
|
||||||
<path d="M4,10a6,6 0 1,0 12,0a6,6 0 1,0 -12,0" fill="#31363B" fill-rule="evenodd"/>
|
|
||||||
</svg>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 427 B After Width: | Height: | Size: 172 B |
|
@ -1,4 +0,0 @@
|
||||||
<svg x="0px" y="0px" width="20px" height="20px" viewBox="0 0 20 20" enable-background="new 0 0 20 20" xml:space="preserve">
|
|
||||||
<path d="M1,10a9,9 0 1,0 18,0 h-0.9 a8.1,8.1 0 1,1 -16.2,0 h-0.9" fill="#51c2fc" fill-rule="evenodd"/>
|
|
||||||
<path d="M1,10a9,9 0 1,1 18,0 h-0.9 a8.1,8.1 0 1,0 -16.2,0 h-0.9" fill="#51c2fc" fill-rule="evenodd"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 341 B |
|
@ -0,0 +1,3 @@
|
||||||
|
<svg width="100" height="100">
|
||||||
|
<circle cx="50" cy="50" r="35" stroke="#272b2f" stroke-width="10" fill="none" />
|
||||||
|
</svg>
|
After Width: | Height: | Size: 121 B |
|
@ -1,4 +1,3 @@
|
||||||
<svg x="0px" y="0px" width="20px" height="20px" viewBox="0 0 20 20" enable-background="new 0 0 20 20" xml:space="preserve">
|
<svg width="100" height="100">
|
||||||
<path d="M1,10a9,9 0 1,0 18,0 h-0.9 a8.1,8.1 0 1,1 -16.2,0 h-0.9" fill="#31363B" fill-rule="evenodd"/>
|
<circle cx="50" cy="50" r="35" stroke="#6a6e71" stroke-width="10" fill="none" />
|
||||||
<path d="M1,10a9,9 0 1,1 18,0 h-0.9 a8.1,8.1 0 1,0 -16.2,0 h-0.9" fill="#31363B" fill-rule="evenodd"/>
|
|
||||||
</svg>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 341 B After Width: | Height: | Size: 121 B |
|
@ -1,3 +1,5 @@
|
||||||
<svg x="0px" y="0px" width="6px" height="9px" viewBox="0 0 6 9" enable-background="new 0 0 6 9" xml:space="preserve">
|
<svg width="60" height="90">
|
||||||
<path d="m 0.9166972,1.1894593 3.310321,3.3105408 -3.3117417,3.3105408 c -0.157702,0.1577125 -0.157702,0.4134624 0,0.5711749 0.157702,0.1577123 0.4134349,0.1577123 0.5711369,0 l 3.5973102,-3.5961283 0,0 0,0 c 0.1577019,-0.1577124 0.1577019,-0.4134624 0,-0.5711748 L 1.4864134,0.61828437 c -0.157702,-0.1577124 -0.4134349,-0.1577124 -0.5711369,0 -0.1562813,0.1577125 -0.1562813,0.41346243 0.00142,0.57117493 z" fill="#31363B"/>
|
<g transform="scale(10)">
|
||||||
|
<path d="m 0.9166972,1.1894593 3.310321,3.3105408 -3.3117417,3.3105408 c -0.157702,0.1577125 -0.157702,0.4134624 0,0.5711749 0.157702,0.1577123 0.4134349,0.1577123 0.5711369,0 l 3.5973102,-3.5961283 0,0 0,0 c 0.1577019,-0.1577124 0.1577019,-0.4134624 0,-0.5711748 L 1.4864134,0.61828437 c -0.157702,-0.1577124 -0.4134349,-0.1577124 -0.5711369,0 -0.1562813,0.1577125 -0.1562813,0.41346243 0.00142,0.57117493 z" fill="#31363b"/>
|
||||||
|
</g>
|
||||||
</svg>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 554 B After Width: | Height: | Size: 502 B |
|
@ -1,3 +1,5 @@
|
||||||
<svg width="6" height="9">
|
<svg width="60" height="90">
|
||||||
<path d="m 0.9166972,1.1894593 3.310321,3.3105408 -3.3117417,3.3105408 c -0.157702,0.1577125 -0.157702,0.4134624 0,0.5711749 0.157702,0.1577123 0.4134349,0.1577123 0.5711369,0 l 3.5973102,-3.5961283 0,0 0,0 c 0.1577019,-0.1577124 0.1577019,-0.4134624 0,-0.5711748 L 1.4864134,0.61828437 c -0.157702,-0.1577124 -0.4134349,-0.1577124 -0.5711369,0 -0.1562813,0.1577125 -0.1562813,0.41346243 0.00142,0.57117493 z" fill="#b0b0b0"/>
|
<g transform="scale(10)">
|
||||||
|
<path d="m 0.9166972,1.1894593 3.310321,3.3105408 -3.3117417,3.3105408 c -0.157702,0.1577125 -0.157702,0.4134624 0,0.5711749 0.157702,0.1577123 0.4134349,0.1577123 0.5711369,0 l 3.5973102,-3.5961283 0,0 0,0 c 0.1577019,-0.1577124 0.1577019,-0.4134624 0,-0.5711748 L 1.4864134,0.61828437 c -0.157702,-0.1577124 -0.4134349,-0.1577124 -0.5711369,0 -0.1562813,0.1577125 -0.1562813,0.41346243 0.00142,0.57117493 z" fill="#bab9b8"/>
|
||||||
|
</g>
|
||||||
</svg>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 463 B After Width: | Height: | Size: 502 B |
|
@ -1,3 +1,5 @@
|
||||||
<svg width="1000" height="1000">
|
<svg width="100" height="100">
|
||||||
<path fill="#b0b0b0" d="M22.1,1022.1L-22.1,977.9l1000-1000L1022.1,22.1Zm220,30L197.9,1007.9l1000-1000L1242.1,52.1Zm250,0L447.9,1007.9l1000-1000L1492.1,52.1Zm250,0L697.9,1007.9l1030-1030L1772.1,22.1Z"/>
|
<g transform="scale(0.1)">
|
||||||
|
<path fill="#bab9b8" d="M22.1,1022.1L-22.1,977.9l1000-1000L1022.1,22.1Zm220,30L197.9,1007.9l1000-1000L1242.1,52.1Zm250,0L447.9,1007.9l1000-1000L1492.1,52.1Zm250,0L697.9,1007.9l1030-1030L1772.1,22.1Z"/>
|
||||||
|
</g>
|
||||||
</svg>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 244 B After Width: | Height: | Size: 280 B |
|
@ -1,3 +0,0 @@
|
||||||
<svg width="9" height="6">
|
|
||||||
<path d="M 1.1894592,5.0833028 4.5,1.7729818 7.8105408,5.0847235 c 0.1577125,0.157702 0.4134624,0.157702 0.5711749,0 0.1577124,-0.157702 0.1577124,-0.4134349 0,-0.5711369 l -3.5961283,-3.59731019 0,0 0,0 c -0.1577124,-0.1577019 -0.4134624,-0.1577019 -0.5711748,0 L 0.6182843,4.5135866 c -0.1577124,0.157702 -0.1577124,0.4134349 0,0.5711369 0.1577125,0.1562813 0.4134624,0.1562813 0.5711749,-0.00142 z" fill="#b0b0b0"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 455 B |
|
@ -1,4 +0,0 @@
|
||||||
<svg width="81" height="58">
|
|
||||||
<rect id="VLine" fill="#bcbfc2" x="36" width="2" height="14"/>
|
|
||||||
<rect id="HLine" fill="#bcbfc2" x="65" y="28" height="1" width="28"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 173 B |
|
@ -1,4 +0,0 @@
|
||||||
<svg width="81" height="58">
|
|
||||||
<rect id="VLine" fill="#bcbfc2" x="36" width="2" height="14"/>
|
|
||||||
<rect id="HLine" fill="#bcbfc2" x="65" y="28" height="1" width="28"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 173 B |
|
@ -1,4 +0,0 @@
|
||||||
<svg width="81" height="58">
|
|
||||||
<rect id="VLine" fill="#bcbfc2" x="36" width="2" height="28"/>
|
|
||||||
<rect id="HLine" fill="#bcbfc2" x="36" y="28" height="1" width="57"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 173 B |
|
@ -1,4 +0,0 @@
|
||||||
<svg width="81" height="58">
|
|
||||||
<rect id="VLine" fill="#bcbfc2" x="36" width="2" height="58"/>
|
|
||||||
<rect id="HLine" fill="#bcbfc2" x="36" y="30" height="1" width="44"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 173 B |
|
@ -1,3 +0,0 @@
|
||||||
<svg width="81" height="58">
|
|
||||||
<rect fill="#bcbfc2" x="36" width="2" height="58"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 90 B |
1759
light/stylesheet.qss
Before Width: | Height: | Size: 30 B After Width: | Height: | Size: 30 B |
|
@ -1,5 +0,0 @@
|
||||||
<svg width="1000" height="1000" >
|
|
||||||
<path id="BottomCircle" d="M100,500 a250,250, 0, 1,0, 800,0 M775,500 L500,775 L225,500 z" fill="#a2a2a2" />
|
|
||||||
<path id="TopCircle" d="M900,500 a250,250, 0, 1,0, -800,0 M225,500 L500,225 L775,500 z" fill="#a2a2a2" />
|
|
||||||
<path id="Inside" d="M275,500 L 500,725 L 725,500 L 500,275 z" fill="#a2a2a2" />
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 343 B |
|
@ -1,3 +1,5 @@
|
||||||
<svg width="1000" height="1000" >
|
<svg width="150" height="150" >
|
||||||
<path d="M250,500 L 500,750 L 750,500 L 500,250 z" fill="none" stroke="#a2a2a2" stroke-width="50" />
|
<g>
|
||||||
|
<path d="M 34.446565,74.553562 74.946563,115.05356 115.44657,74.553562 74.946563,34.053565 Z" fill="none" stroke="#a2a2a2" stroke-width="8.1" />
|
||||||
|
</g>
|
||||||
</svg>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 144 B After Width: | Height: | Size: 201 B |
|
@ -0,0 +1,5 @@
|
||||||
|
<svg width="150" height="150" >
|
||||||
|
<g>
|
||||||
|
<path d="m 74.838633,26.399968 a 48.6,48.6 0 0 0 -48.438633,48.6 48.6,48.6 0 0 0 97.2,0 48.6,48.6 0 0 0 -48.761367,-48.6 z m -0.648633,11.34 36.45,36.45 L 74.19,110.63997 37.74,74.189968 Z" fill="#a2a2a2" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 261 B |
|
@ -1,3 +0,0 @@
|
||||||
<svg x="0px" y="0px" width="9px" height="6px" viewBox="0 0 9 6" enable-background="new 0 0 9 6" xml:space="preserve">
|
|
||||||
<path d="M 1.1894592,5.0833028 4.5,1.7729818 7.8105408,5.0847235 c 0.1577125,0.157702 0.4134624,0.157702 0.5711749,0 0.1577124,-0.157702 0.1577124,-0.4134349 0,-0.5711369 l -3.5961283,-3.59731019 0,0 0,0 c -0.1577124,-0.1577019 -0.4134624,-0.1577019 -0.5711748,0 L 0.6182843,4.5135866 c -0.1577124,0.157702 -0.1577124,0.4134349 0,0.5711369 0.1577125,0.1562813 0.4134624,0.1562813 0.5711749,-0.00142 z" fill="#3daee9"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 546 B |
|
@ -1,3 +1,5 @@
|
||||||
<svg x="0px" y="0px" width="9px" height="6px" viewBox="0 0 9 6" enable-background="new 0 0 9 6" xml:space="preserve">
|
<svg width="90" height="60">
|
||||||
<path d="M 1.1894592,5.0833028 4.5,1.7729818 7.8105408,5.0847235 c 0.1577125,0.157702 0.4134624,0.157702 0.5711749,0 0.1577124,-0.157702 0.1577124,-0.4134349 0,-0.5711369 l -3.5961283,-3.59731019 0,0 0,0 c -0.1577124,-0.1577019 -0.4134624,-0.1577019 -0.5711748,0 L 0.6182843,4.5135866 c -0.1577124,0.157702 -0.1577124,0.4134349 0,0.5711369 0.1577125,0.1562813 0.4134624,0.1562813 0.5711749,-0.00142 z" fill="#31363B"/>
|
<g transform="scale(10)">
|
||||||
|
<path d="M 1.1894592,5.0833028 4.5,1.7729818 7.8105408,5.0847235 c 0.1577125,0.157702 0.4134624,0.157702 0.5711749,0 0.1577124,-0.157702 0.1577124,-0.4134349 0,-0.5711369 l -3.5961283,-3.59731019 0,0 0,0 c -0.1577124,-0.1577019 -0.4134624,-0.1577019 -0.5711748,0 L 0.6182843,4.5135866 c -0.1577124,0.157702 -0.1577124,0.4134349 0,0.5711369 0.1577125,0.1562813 0.4134624,0.1562813 0.5711749,-0.00142 z" fill="#31363b" fill-opacity="1.0"/>
|
||||||
|
</g>
|
||||||
</svg>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 546 B After Width: | Height: | Size: 513 B |
|
@ -1,3 +1,5 @@
|
||||||
<svg x="0px" y="0px" width="9px" height="6px" viewBox="0 0 9 6" enable-background="new 0 0 9 6" xml:space="preserve">
|
<svg width="90" height="60">
|
||||||
<path d="M 1.1894592,5.0833028 4.5,1.7729818 7.8105408,5.0847235 c 0.1577125,0.157702 0.4134624,0.157702 0.5711749,0 0.1577124,-0.157702 0.1577124,-0.4134349 0,-0.5711369 l -3.5961283,-3.59731019 0,0 0,0 c -0.1577124,-0.1577019 -0.4134624,-0.1577019 -0.5711748,0 L 0.6182843,4.5135866 c -0.1577124,0.157702 -0.1577124,0.4134349 0,0.5711369 0.1577125,0.1562813 0.4134624,0.1562813 0.5711749,-0.00142 z" fill="#b0b0b0"/>
|
<g transform="scale(10)">
|
||||||
|
<path d="M 1.1894592,5.0833028 4.5,1.7729818 7.8105408,5.0847235 c 0.1577125,0.157702 0.4134624,0.157702 0.5711749,0 0.1577124,-0.157702 0.1577124,-0.4134349 0,-0.5711369 l -3.5961283,-3.59731019 0,0 0,0 c -0.1577124,-0.1577019 -0.4134624,-0.1577019 -0.5711748,0 L 0.6182843,4.5135866 c -0.1577124,0.157702 -0.1577124,0.4134349 0,0.5711369 0.1577125,0.1562813 0.4134624,0.1562813 0.5711749,-0.00142 z" fill="#bab9b8" fill-opacity="1.0"/>
|
||||||
|
</g>
|
||||||
</svg>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 546 B After Width: | Height: | Size: 513 B |
|
@ -0,0 +1,5 @@
|
||||||
|
<svg width="90" height="60">
|
||||||
|
<g transform="scale(10)">
|
||||||
|
<path d="M 1.1894592,5.0833028 4.5,1.7729818 7.8105408,5.0847235 c 0.1577125,0.157702 0.4134624,0.157702 0.5711749,0 0.1577124,-0.157702 0.1577124,-0.4134349 0,-0.5711369 l -3.5961283,-3.59731019 0,0 0,0 c -0.1577124,-0.1577019 -0.4134624,-0.1577019 -0.5711748,0 L 0.6182843,4.5135866 c -0.1577124,0.157702 -0.1577124,0.4134349 0,0.5711369 0.1577125,0.1562813 0.4134624,0.1562813 0.5711749,-0.00142 z" fill="#33a4df" fill-opacity="0.5"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 513 B |
|
@ -0,0 +1,5 @@
|
||||||
|
<svg width="405" height="290">
|
||||||
|
<g transform="scale(5)">
|
||||||
|
<rect fill="#4b4b4b" x="36" width="3" height="58"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 128 B |
|
@ -1,8 +1,4 @@
|
||||||
<svg x="0px" y="0px" width="54px" height="10px" viewBox="0 0 54 10" enable-background="new 0 0 54 10" xml:space="preserve">
|
<svg width="32" height="16">
|
||||||
<rect id="Dark1" data-name="Dark1" fill="#292c31" x="16" y="1" width="4" height="8"/>
|
<rect fill="#bab9b8" x="4" y="6" width="24" height="1"/>
|
||||||
<rect id="Light1" data-name="Light1" fill="#7f8795" x="16" y="1" width="3" height="7"/>
|
<rect fill="#bab9b8" x="4" y="14" width="24" height="1"/>
|
||||||
<rect id="Dark2" data-name="Dark2" fill="#292c31" x="25" y="1" width="4" height="8"/>
|
|
||||||
<rect id="Light2" data-name="Light2" fill="#7f8795" x="25" y="1" width="3" height="7"/>
|
|
||||||
<rect id="Dark3" data-name="Dark3" fill="#292c31" x="34" y="1" width="4" height="8"/>
|
|
||||||
<rect id="Light3" data-name="Light3" fill="#7f8795" x="34" y="1" width="3" height="7"/>
|
|
||||||
</svg>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 665 B After Width: | Height: | Size: 159 B |
|
@ -1,7 +0,0 @@
|
||||||
<svg x="0px" y="0px" width="63px" height="7px" viewBox="0 0 63 7" enable-background="new 0 0 63 7" xml:space="preserve">
|
|
||||||
<rect id="Dark1" data-name="Dark1" fill="#292c31" x="25" y="1" width="1" height="5"/>
|
|
||||||
<rect id="Dark2" data-name="Dark2" fill="#292c31" x="38" y="1" width="1" height="5"/>
|
|
||||||
<rect id="Light1" data-name="Light1" fill="#7f8795" x="23" y="1" width="2" height="5"/>
|
|
||||||
<rect id="Light2" data-name="Light2" fill="#7f8795" x="30" y="1" width="2" height="5"/>
|
|
||||||
<rect id="Light3" data-name="Light3" fill="#7f8795" x="36" y="1" width="2" height="5"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 574 B |
|
@ -0,0 +1,3 @@
|
||||||
|
<svg width="32" height="16">
|
||||||
|
<rect fill="#bab9b8" x="4" y="8" width="24" height="1"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 97 B |
|
@ -757,7 +757,7 @@ QPushButton:disabled
|
||||||
|
|
||||||
QPushButton:focus
|
QPushButton:focus
|
||||||
{
|
{
|
||||||
color: white;
|
color: ^foreground^;
|
||||||
}
|
}
|
||||||
|
|
||||||
QPushButton:pressed
|
QPushButton:pressed
|
||||||
|
@ -765,6 +765,7 @@ QPushButton:pressed
|
||||||
background-color: ^button:background:pressed^;
|
background-color: ^button:background:pressed^;
|
||||||
padding-top: -0.65em;
|
padding-top: -0.65em;
|
||||||
padding-bottom: -0.74em;
|
padding-bottom: -0.74em;
|
||||||
|
color: ^foreground^;
|
||||||
}
|
}
|
||||||
|
|
||||||
QComboBox
|
QComboBox
|
||||||
|
@ -782,8 +783,9 @@ QComboBox:editable
|
||||||
|
|
||||||
QPushButton:checked
|
QPushButton:checked
|
||||||
{
|
{
|
||||||
background-color: ^midtone:dark^;
|
background-color: ^button:checked^;
|
||||||
border: 0.04em solid ^button:border^;
|
border: 0.04em solid ^button:border^;
|
||||||
|
color: ^foreground^;
|
||||||
}
|
}
|
||||||
|
|
||||||
QPushButton:hover
|
QPushButton:hover
|
||||||
|
@ -795,7 +797,7 @@ QPushButton:hover
|
||||||
|
|
||||||
QPushButton:checked:hover
|
QPushButton:checked:hover
|
||||||
{
|
{
|
||||||
background-color: ^midtone:dark^;
|
background-color: ^button:checked^;
|
||||||
border: 0.04em solid ^highlight^;
|
border: 0.04em solid ^highlight^;
|
||||||
color: ^foreground^;
|
color: ^foreground^;
|
||||||
}
|
}
|
||||||
|
@ -939,7 +941,7 @@ QAbstractSpinBox::down-arrow:off
|
||||||
border-image: url(:/^style^/down_arrow_disabled.svg);
|
border-image: url(:/^style^/down_arrow_disabled.svg);
|
||||||
}
|
}
|
||||||
|
|
||||||
QAbstractSpinBox::down-arrow:hover
|
QAbstractSpinBox::down-arrow:!off:!disabled:hover
|
||||||
{
|
{
|
||||||
border-image: url(:/^style^/down_arrow_hover.svg);
|
border-image: url(:/^style^/down_arrow_hover.svg);
|
||||||
}
|
}
|
||||||
|
|
945
test.py
|
@ -30,6 +30,7 @@
|
||||||
'''
|
'''
|
||||||
|
|
||||||
import argparse
|
import argparse
|
||||||
|
import gc
|
||||||
import os
|
import os
|
||||||
import random
|
import random
|
||||||
import sys
|
import sys
|
||||||
|
@ -42,7 +43,7 @@ import breeze_resources
|
||||||
parser = argparse.ArgumentParser(description='Configurations for the Qt5 application.')
|
parser = argparse.ArgumentParser(description='Configurations for the Qt5 application.')
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
'--widget',
|
'--widget',
|
||||||
help='''widget to test'''
|
help='''widget to test. can provide `all` to test all'''
|
||||||
)
|
)
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
'--stylesheet',
|
'--stylesheet',
|
||||||
|
@ -147,15 +148,489 @@ def splash_timer(splash, window):
|
||||||
splash.finish(window)
|
splash.finish(window)
|
||||||
window.show()
|
window.show()
|
||||||
|
|
||||||
def main(argv=None):
|
def test_progressbar_horizontal(widget, *_):
|
||||||
'Application entry point'
|
child = []
|
||||||
|
bar1 = QtWidgets.QProgressBar(widget)
|
||||||
|
bar1.setProperty('value', 0)
|
||||||
|
child.append(bar1)
|
||||||
|
bar2 = QtWidgets.QProgressBar(widget)
|
||||||
|
bar2.setProperty('value', 24)
|
||||||
|
child.append(bar2)
|
||||||
|
bar3 = QtWidgets.QProgressBar(widget)
|
||||||
|
bar3.setProperty('value', 99)
|
||||||
|
child.append(bar3)
|
||||||
|
bar4 = QtWidgets.QProgressBar(widget)
|
||||||
|
bar4.setProperty('value', 100)
|
||||||
|
child.append(bar4)
|
||||||
|
|
||||||
args, unknown = parser.parse_known_args(argv)
|
return child
|
||||||
os.environ['QT_SCALE_FACTOR'] = str(args.scale)
|
|
||||||
if args.style != 'native':
|
def test_progressbar_vertical(widget, *_):
|
||||||
style = QtWidgets.QStyleFactory.create(args.style)
|
layout_type = 'horizontal'
|
||||||
QtWidgets.QApplication.setStyle(style)
|
child = []
|
||||||
app = QtWidgets.QApplication(argv[:1] + unknown)
|
bar1 = QtWidgets.QProgressBar(widget)
|
||||||
|
bar1.setOrientation(QtCore.Qt.Vertical)
|
||||||
|
bar1.setProperty('value', 0)
|
||||||
|
child.append(bar1)
|
||||||
|
bar2 = QtWidgets.QProgressBar(widget)
|
||||||
|
bar2.setOrientation(QtCore.Qt.Vertical)
|
||||||
|
bar2.setProperty('value', 24)
|
||||||
|
child.append(bar2)
|
||||||
|
bar3 = QtWidgets.QProgressBar(widget)
|
||||||
|
bar3.setOrientation(QtCore.Qt.Vertical)
|
||||||
|
bar3.setProperty('value', 99)
|
||||||
|
child.append(bar3)
|
||||||
|
bar4 = QtWidgets.QProgressBar(widget)
|
||||||
|
bar4.setOrientation(QtCore.Qt.Vertical)
|
||||||
|
bar4.setProperty('value', 100)
|
||||||
|
child.append(bar4)
|
||||||
|
|
||||||
|
return child, layout_type
|
||||||
|
|
||||||
|
def test_slider_horizontal(widget, *_):
|
||||||
|
child = QtWidgets.QSlider(widget)
|
||||||
|
child.setOrientation(QtCore.Qt.Horizontal)
|
||||||
|
|
||||||
|
return child
|
||||||
|
|
||||||
|
def test_slider_vertical(widget, *_):
|
||||||
|
layout_type = 'horizontal'
|
||||||
|
child = QtWidgets.QSlider(widget)
|
||||||
|
child.setOrientation(QtCore.Qt.Vertical)
|
||||||
|
|
||||||
|
return child, layout_type
|
||||||
|
|
||||||
|
def test_splitter_horizontal(widget, *_):
|
||||||
|
child = QtWidgets.QSplitter(widget)
|
||||||
|
child.addWidget(QtWidgets.QListWidget())
|
||||||
|
child.addWidget(QtWidgets.QTreeWidget())
|
||||||
|
child.addWidget(QtWidgets.QTextEdit())
|
||||||
|
|
||||||
|
return child
|
||||||
|
|
||||||
|
def test_splitter_vertical(widget, *_):
|
||||||
|
layout_type = 'horizontal'
|
||||||
|
child = QtWidgets.QSplitter(widget)
|
||||||
|
child.setOrientation(QtCore.Qt.Vertical)
|
||||||
|
child.addWidget(QtWidgets.QListWidget())
|
||||||
|
child.addWidget(QtWidgets.QTreeWidget())
|
||||||
|
child.addWidget(QtWidgets.QTextEdit())
|
||||||
|
|
||||||
|
return child, layout_type
|
||||||
|
|
||||||
|
def test_menu(widget, window, font, width, *_):
|
||||||
|
child = QtWidgets.QMenuBar(window)
|
||||||
|
child.setGeometry(QtCore.QRect(0, 0, width, int(1.5 * font.pointSize())))
|
||||||
|
menu = QtWidgets.QMenu('Main Menu', child)
|
||||||
|
menu.addAction(QtWidgets.QAction('&Action 1', window))
|
||||||
|
menu.addAction(QtWidgets.QAction('&Action 2', window))
|
||||||
|
submenu = QtWidgets.QMenu('Sub Menu', menu)
|
||||||
|
submenu.addAction(QtWidgets.QAction('&Action 3', window))
|
||||||
|
action1 = QtWidgets.QAction('&Action 4', window)
|
||||||
|
action1.setCheckable(True)
|
||||||
|
submenu.addAction(action1)
|
||||||
|
menu.addAction(submenu.menuAction())
|
||||||
|
action2 = QtWidgets.QAction('&Action 5', window)
|
||||||
|
action2.setCheckable(True)
|
||||||
|
action2.setChecked(True)
|
||||||
|
menu.addSeparator()
|
||||||
|
menu.addAction(action2)
|
||||||
|
action3 = QtWidgets.QAction('&Action 6', window)
|
||||||
|
action3.setCheckable(True)
|
||||||
|
menu.addAction(action3)
|
||||||
|
icon = QtGui.QIcon(':/dark/close.svg')
|
||||||
|
menu.addAction(QtWidgets.QAction(icon, '&Action 7', window))
|
||||||
|
menu.addAction(QtWidgets.QAction(icon, '&Action 8', window))
|
||||||
|
submenu.addAction(QtWidgets.QAction(icon, '&Action 9', window))
|
||||||
|
child.addAction(menu.menuAction())
|
||||||
|
window.setMenuBar(child)
|
||||||
|
|
||||||
|
return child
|
||||||
|
|
||||||
|
def test_statusbar(_, window, *__):
|
||||||
|
child = QtWidgets.QStatusBar(window)
|
||||||
|
window.setStatusBar(child)
|
||||||
|
|
||||||
|
return child
|
||||||
|
|
||||||
|
def test_spinbox(widget, *_):
|
||||||
|
layout_type = 'horizontal'
|
||||||
|
child = []
|
||||||
|
spin1 = QtWidgets.QSpinBox(widget)
|
||||||
|
spin1.setValue(10)
|
||||||
|
child.append(spin1)
|
||||||
|
spin2 = QtWidgets.QSpinBox(widget)
|
||||||
|
spin2.setValue(10)
|
||||||
|
spin2.setEnabled(False)
|
||||||
|
child.append(spin2)
|
||||||
|
|
||||||
|
return child, layout_type
|
||||||
|
|
||||||
|
def test_double_spinbox(widget, *_):
|
||||||
|
layout_type = 'horizontal'
|
||||||
|
child = []
|
||||||
|
spin1 = QtWidgets.QDoubleSpinBox(widget)
|
||||||
|
spin1.setValue(10.5)
|
||||||
|
child.append(spin1)
|
||||||
|
spin2 = QtWidgets.QDoubleSpinBox(widget)
|
||||||
|
spin2.setValue(10.5)
|
||||||
|
spin2.setEnabled(False)
|
||||||
|
child.append(spin2)
|
||||||
|
|
||||||
|
return child, layout_type
|
||||||
|
|
||||||
|
def test_combobox(widget, *_):
|
||||||
|
layout_type = 'horizontal'
|
||||||
|
child = []
|
||||||
|
combo1 = QtWidgets.QComboBox(widget)
|
||||||
|
combo1.addItem('Item 1')
|
||||||
|
combo1.addItem('Item 2')
|
||||||
|
child.append(combo1)
|
||||||
|
combo2 = QtWidgets.QComboBox(widget)
|
||||||
|
combo2.addItem('Very Very Long Item 1')
|
||||||
|
combo2.addItem('Very Very Long Item 2')
|
||||||
|
child.append(combo2)
|
||||||
|
combo3 = QtWidgets.QComboBox(widget)
|
||||||
|
combo3.setEditable(True)
|
||||||
|
combo3.addItem('Edit 1')
|
||||||
|
combo3.addItem('Edit 2')
|
||||||
|
child.append(combo3)
|
||||||
|
|
||||||
|
return child, layout_type
|
||||||
|
|
||||||
|
def _test_tabwidget(widget, position):
|
||||||
|
child = QtWidgets.QTabWidget(widget)
|
||||||
|
child.setTabPosition(position)
|
||||||
|
child.addTab(QtWidgets.QWidget(), 'Tab 1')
|
||||||
|
child.addTab(QtWidgets.QWidget(), 'Tab 2')
|
||||||
|
child.addTab(QtWidgets.QWidget(), 'Tab 3')
|
||||||
|
|
||||||
|
return child
|
||||||
|
|
||||||
|
def test_tabwidget_top(widget, *_):
|
||||||
|
return _test_tabwidget(widget, QtWidgets.QTabWidget.North)
|
||||||
|
|
||||||
|
def test_tabwidget_left(widget, *_):
|
||||||
|
return _test_tabwidget(widget, QtWidgets.QTabWidget.West)
|
||||||
|
|
||||||
|
def test_tabwidget_right(widget, *_):
|
||||||
|
return _test_tabwidget(widget, QtWidgets.QTabWidget.East)
|
||||||
|
|
||||||
|
def test_tabwidget_bottom(widget, *_):
|
||||||
|
return _test_tabwidget(widget, QtWidgets.QTabWidget.South)
|
||||||
|
|
||||||
|
def test_closable_tabwidget(widget, *_):
|
||||||
|
child = _test_tabwidget(widget, QtWidgets.QTabWidget.East)
|
||||||
|
child.setTabsClosable(True)
|
||||||
|
|
||||||
|
return child
|
||||||
|
|
||||||
|
def test_dock(_, window, *__):
|
||||||
|
dock1 = QtWidgets.QDockWidget('&Dock widget 1', window)
|
||||||
|
dock2 = QtWidgets.QDockWidget('&Dock widget 2', window)
|
||||||
|
window.addDockWidget(QtCore.Qt.DockWidgetArea(QtCore.Qt.LeftDockWidgetArea), dock1)
|
||||||
|
window.addDockWidget(QtCore.Qt.DockWidgetArea(QtCore.Qt.LeftDockWidgetArea), dock2)
|
||||||
|
window.tabifyDockWidget(dock1, dock2)
|
||||||
|
|
||||||
|
def test_radio(widget, *_):
|
||||||
|
child = []
|
||||||
|
widget_type = QtWidgets.QRadioButton
|
||||||
|
child.append(abstract_button(widget_type, widget))
|
||||||
|
child.append(abstract_button(widget_type, widget, checked=True))
|
||||||
|
child.append(abstract_button(widget_type, widget, enabled=False))
|
||||||
|
child.append(abstract_button(widget_type, widget, checked=True, enabled=False))
|
||||||
|
child.append(abstract_button(widget_type, widget, 'With Text'))
|
||||||
|
|
||||||
|
return child
|
||||||
|
|
||||||
|
def test_checkbox(widget, _, __, ___, ____, app):
|
||||||
|
child = []
|
||||||
|
widget_type = QtWidgets.QCheckBox
|
||||||
|
child.append(abstract_button(widget_type, widget))
|
||||||
|
child.append(abstract_button(widget_type, widget, checked=True))
|
||||||
|
child.append(abstract_button(widget_type, widget, checked=QtCore.Qt.PartiallyChecked))
|
||||||
|
child.append(abstract_button(widget_type, widget, enabled=False))
|
||||||
|
child.append(abstract_button(widget_type, widget, checked=True, enabled=False))
|
||||||
|
child.append(abstract_button(widget_type, widget, checked=QtCore.Qt.PartiallyChecked, enabled=False))
|
||||||
|
child.append(abstract_button(widget_type, widget, 'With Text'))
|
||||||
|
child.append(abstract_button(widget_type, widget, 'With Large Text'))
|
||||||
|
checkbox_font = app.font()
|
||||||
|
checkbox_font.setPointSizeF(50.0)
|
||||||
|
child[-1].setFont(checkbox_font)
|
||||||
|
|
||||||
|
return child
|
||||||
|
|
||||||
|
def test_table(widget, *_):
|
||||||
|
child = QtWidgets.QTableWidget(widget)
|
||||||
|
child.setColumnCount(2)
|
||||||
|
child.setRowCount(4)
|
||||||
|
item = QtWidgets.QTableWidgetItem('Row 1')
|
||||||
|
child.setVerticalHeaderItem(0, item)
|
||||||
|
item = QtWidgets.QTableWidgetItem('Row 2')
|
||||||
|
child.setVerticalHeaderItem(1, item)
|
||||||
|
item = QtWidgets.QTableWidgetItem('Row 3')
|
||||||
|
child.setVerticalHeaderItem(2, item)
|
||||||
|
item = QtWidgets.QTableWidgetItem('Row 4')
|
||||||
|
child.setVerticalHeaderItem(3, item)
|
||||||
|
item = QtWidgets.QTableWidgetItem('Column 1')
|
||||||
|
child.setHorizontalHeaderItem(0, item)
|
||||||
|
item = QtWidgets.QTableWidgetItem('Column 2')
|
||||||
|
child.setHorizontalHeaderItem(1, item)
|
||||||
|
|
||||||
|
return child
|
||||||
|
|
||||||
|
def test_sortable_table(widget, *_):
|
||||||
|
child = test_table(widget)
|
||||||
|
child.setSortingEnabled(True)
|
||||||
|
|
||||||
|
return child
|
||||||
|
|
||||||
|
def test_list(widget, *_):
|
||||||
|
alignments = [QtCore.Qt.AlignLeft, QtCore.Qt.AlignRight, QtCore.Qt.AlignHCenter]
|
||||||
|
child = QtWidgets.QListWidget(widget)
|
||||||
|
for index in range(10):
|
||||||
|
item = QtWidgets.QListWidgetItem(f'Item {index + 1}')
|
||||||
|
item.setTextAlignment(random.choice(alignments))
|
||||||
|
child.addItem(item)
|
||||||
|
icon = QtGui.QIcon(':/dark/close.svg')
|
||||||
|
for index in range(10):
|
||||||
|
item = QtWidgets.QListWidgetItem(icon, f'Item {index + 1}')
|
||||||
|
item.setTextAlignment(random.choice(alignments))
|
||||||
|
child.addItem(item)
|
||||||
|
|
||||||
|
return child
|
||||||
|
|
||||||
|
def test_scrollbar_vertical(widget, *_):
|
||||||
|
child = QtWidgets.QListWidget(widget)
|
||||||
|
for index in range(100):
|
||||||
|
child.addItem(QtWidgets.QListWidgetItem(f'Item {index + 1}'))
|
||||||
|
|
||||||
|
return child
|
||||||
|
|
||||||
|
def test_scrollbar_horizontal(widget, *_):
|
||||||
|
child = QtWidgets.QTableWidget(widget)
|
||||||
|
child.setColumnCount(100)
|
||||||
|
child.setRowCount(1)
|
||||||
|
item = QtWidgets.QTableWidgetItem(f'Row 1')
|
||||||
|
child.setVerticalHeaderItem(0, item)
|
||||||
|
for index in range(100):
|
||||||
|
item = QtWidgets.QTableWidgetItem(f'Column {index + 1}')
|
||||||
|
child.setHorizontalHeaderItem(index, item)
|
||||||
|
|
||||||
|
return child
|
||||||
|
|
||||||
|
def test_toolbar(_, window, *__):
|
||||||
|
toolbar1 = QtWidgets.QToolBar('Toolbar')
|
||||||
|
toolbar1.addAction('&Action 1')
|
||||||
|
toolbar1.addAction('&Action 2')
|
||||||
|
toolbar1.addSeparator()
|
||||||
|
toolbar1.addAction('&Action 3')
|
||||||
|
toolbar1.addAction('&Action 3 Really Long Name')
|
||||||
|
icon = QtGui.QIcon(':/dark/close.svg')
|
||||||
|
toolbar1.addAction(icon, '&Action 4')
|
||||||
|
window.addToolBar(QtCore.Qt.TopToolBarArea, toolbar1)
|
||||||
|
|
||||||
|
toolbar2 = QtWidgets.QToolBar('Toolbar')
|
||||||
|
toolbar2.setOrientation(QtCore.Qt.Vertical)
|
||||||
|
toolbar2.addAction('&Action 1')
|
||||||
|
toolbar2.addAction('&Action 2')
|
||||||
|
toolbar2.addSeparator()
|
||||||
|
toolbar2.addAction('&Action 3')
|
||||||
|
toolbar2.addAction('&Action 3 Really Long Name')
|
||||||
|
icon = QtGui.QIcon(':/dark/close.svg')
|
||||||
|
toolbar2.addAction(icon, '&Action 4')
|
||||||
|
window.addToolBar(QtCore.Qt.LeftToolBarArea, toolbar2)
|
||||||
|
|
||||||
|
return None, None
|
||||||
|
|
||||||
|
def test_toolbutton(widget, window, *_):
|
||||||
|
layout_type = 'horizontal'
|
||||||
|
child = [
|
||||||
|
QtWidgets.QToolButton(widget),
|
||||||
|
QtWidgets.QToolButton(widget),
|
||||||
|
QtWidgets.QToolButton(widget),
|
||||||
|
QtWidgets.QToolButton(widget),
|
||||||
|
QtWidgets.QToolButton(widget),
|
||||||
|
QtWidgets.QToolButton(widget),
|
||||||
|
QtWidgets.QToolButton(widget),
|
||||||
|
QtWidgets.QToolButton(widget),
|
||||||
|
QtWidgets.QToolButton(widget),
|
||||||
|
]
|
||||||
|
window.setTabOrder(child[0], child[1])
|
||||||
|
window.setTabOrder(child[1], child[2])
|
||||||
|
window.setTabOrder(child[2], child[3])
|
||||||
|
window.setTabOrder(child[3], child[4])
|
||||||
|
window.setTabOrder(child[4], child[5])
|
||||||
|
window.setTabOrder(child[5], child[6])
|
||||||
|
window.setTabOrder(child[6], child[7])
|
||||||
|
child[0].setText('Simple ToolButton')
|
||||||
|
child[1].setText('Action Toolbutton')
|
||||||
|
child[2].setText('Menu Toolbutton')
|
||||||
|
child[3].setText('Instant Toolbutton')
|
||||||
|
child[1].addActions([
|
||||||
|
QtWidgets.QAction('&Action 5', window),
|
||||||
|
QtWidgets.QAction('&Action 6', window),
|
||||||
|
])
|
||||||
|
child[2].setPopupMode(QtWidgets.QToolButton.MenuButtonPopup)
|
||||||
|
child[2].addActions([
|
||||||
|
QtWidgets.QAction('&Action 9', window),
|
||||||
|
QtWidgets.QAction('&Action 10', window),
|
||||||
|
])
|
||||||
|
child[3].setPopupMode(QtWidgets.QToolButton.InstantPopup)
|
||||||
|
child[3].addActions([
|
||||||
|
QtWidgets.QAction('&Action 11', window),
|
||||||
|
QtWidgets.QAction('&Action 12', window),
|
||||||
|
])
|
||||||
|
child[4].setArrowType(QtCore.Qt.LeftArrow)
|
||||||
|
child[5].setArrowType(QtCore.Qt.RightArrow)
|
||||||
|
child[6].setArrowType(QtCore.Qt.UpArrow)
|
||||||
|
child[7].setArrowType(QtCore.Qt.DownArrow)
|
||||||
|
icon = QtGui.QIcon(':/dark/close.svg')
|
||||||
|
child[8].setIcon(icon)
|
||||||
|
|
||||||
|
return child, layout_type
|
||||||
|
|
||||||
|
def test_pushbutton(widget, *_):
|
||||||
|
layout_type = 'horizontal'
|
||||||
|
child = []
|
||||||
|
widget_type = QtWidgets.QPushButton
|
||||||
|
child.append(abstract_button(widget_type, widget, 'Button 1', checked=True))
|
||||||
|
child.append(abstract_button(widget_type, widget, 'Button 2', enabled=False))
|
||||||
|
child.append(abstract_button(widget_type, widget, 'Button 3', checkable=False))
|
||||||
|
icon = QtGui.QIcon(':/dark/close.svg')
|
||||||
|
child.append(abstract_button(widget_type, widget, icon, 'Button 4', checkable=False))
|
||||||
|
|
||||||
|
return child, layout_type
|
||||||
|
|
||||||
|
def test_tree(widget, *_):
|
||||||
|
child = []
|
||||||
|
tree1 = QtWidgets.QTreeWidget(widget)
|
||||||
|
tree1.setHeaderLabel('Tree 1')
|
||||||
|
item1 = QtWidgets.QTreeWidgetItem(tree1, ['Row 1'])
|
||||||
|
item2 = QtWidgets.QTreeWidgetItem(tree1, ['Row 2'])
|
||||||
|
item3 = QtWidgets.QTreeWidgetItem(item2, ['Row 2.1'])
|
||||||
|
item3.setFlags(item3.flags() | QtCore.Qt.ItemIsUserCheckable)
|
||||||
|
item3.setCheckState(0, QtCore.Qt.Unchecked)
|
||||||
|
item4 = QtWidgets.QTreeWidgetItem(item2, ['Row 2.2'])
|
||||||
|
item5 = QtWidgets.QTreeWidgetItem(item4, ['Row 2.2.1'])
|
||||||
|
item6 = QtWidgets.QTreeWidgetItem(item5, ['Row 2.2.1.1'])
|
||||||
|
item7 = QtWidgets.QTreeWidgetItem(item5, ['Row 2.2.1.2'])
|
||||||
|
item7.setFlags(item7.flags() | QtCore.Qt.ItemIsUserCheckable)
|
||||||
|
item7.setCheckState(0, QtCore.Qt.Checked)
|
||||||
|
item8 = QtWidgets.QTreeWidgetItem(item2, ['Row 2.3'])
|
||||||
|
item8.setFlags(item8.flags() | QtCore.Qt.ItemIsUserTristate)
|
||||||
|
item8.setCheckState(0, QtCore.Qt.PartiallyChecked)
|
||||||
|
item9 = QtWidgets.QTreeWidgetItem(tree1, ['Row 3'])
|
||||||
|
item10 = QtWidgets.QTreeWidgetItem(item9, ['Row 3.1'])
|
||||||
|
item11 = QtWidgets.QTreeWidgetItem(tree1, ['Row 4'])
|
||||||
|
child.append(tree1)
|
||||||
|
tree2 = QtWidgets.QTreeWidget(widget)
|
||||||
|
tree2.setHeaderLabel('Tree 2')
|
||||||
|
tree2.header().setSectionsClickable(True)
|
||||||
|
item12 = QtWidgets.QTreeWidgetItem(tree2, ['Row 1', 'Column 2', 'Column 3'])
|
||||||
|
child.append(tree2)
|
||||||
|
|
||||||
|
return child
|
||||||
|
|
||||||
|
def test_view_scrollarea(widget, *_):
|
||||||
|
# For us to have both scrollbars visible.
|
||||||
|
child = QtWidgets.QTableWidget(widget)
|
||||||
|
child.setColumnCount(100)
|
||||||
|
child.setRowCount(100)
|
||||||
|
for index in range(100):
|
||||||
|
row = QtWidgets.QTableWidgetItem(f'Row {index + 1}')
|
||||||
|
child.setVerticalHeaderItem(0, row)
|
||||||
|
column = QtWidgets.QTableWidgetItem(f'Column {index + 1}')
|
||||||
|
child.setHorizontalHeaderItem(index, column)
|
||||||
|
|
||||||
|
return child
|
||||||
|
|
||||||
|
def test_widget_scrollarea(widget, window, *_):
|
||||||
|
child = QtWidgets.QProgressBar(widget)
|
||||||
|
child.setProperty('value', 24)
|
||||||
|
window.resize(30, 30)
|
||||||
|
|
||||||
|
return child
|
||||||
|
|
||||||
|
def test_frame(widget, *_):
|
||||||
|
child = []
|
||||||
|
text = QtWidgets.QTextEdit()
|
||||||
|
text.setPlainText('Hello world\nTesting lines')
|
||||||
|
child.append(text)
|
||||||
|
table = QtWidgets.QTableWidget()
|
||||||
|
table.setColumnCount(5)
|
||||||
|
table.setRowCount(5)
|
||||||
|
child.append(table)
|
||||||
|
|
||||||
|
return child
|
||||||
|
|
||||||
|
def test_groupbox(widget, *_):
|
||||||
|
child = []
|
||||||
|
child.append(QtWidgets.QGroupBox('Groupbox 1', widget))
|
||||||
|
checkable = QtWidgets.QGroupBox('Groupbox 2', widget)
|
||||||
|
checkable.setCheckable(True)
|
||||||
|
child.append(checkable)
|
||||||
|
vbox = QtWidgets.QVBoxLayout(checkable)
|
||||||
|
vbox.setAlignment(QtCore.Qt.AlignHCenter)
|
||||||
|
vbox.addWidget(QtWidgets.QLineEdit('Sample Label'))
|
||||||
|
|
||||||
|
return child
|
||||||
|
|
||||||
|
def test_toolbox(widget, *_):
|
||||||
|
# Test alignment with another item, in a vertical layout.
|
||||||
|
child = []
|
||||||
|
child.append(QtWidgets.QGroupBox('Groupbox', widget))
|
||||||
|
child.append(QtWidgets.QGroupBox('Really, really long groupbox', widget))
|
||||||
|
toolbox = QtWidgets.QToolBox(widget)
|
||||||
|
child.append(toolbox)
|
||||||
|
page1 = QtWidgets.QWidget()
|
||||||
|
toolbox.addItem(page1, 'Page 1')
|
||||||
|
page2 = QtWidgets.QWidget()
|
||||||
|
vbox = QtWidgets.QVBoxLayout(page2)
|
||||||
|
vbox.addWidget(QtWidgets.QLabel('Sample Label'))
|
||||||
|
toolbox.addItem(page2, 'Page 2')
|
||||||
|
page3 = QtWidgets.QWidget()
|
||||||
|
toolbox.addItem(page3, 'Really, really long page 3')
|
||||||
|
|
||||||
|
return child
|
||||||
|
|
||||||
|
def test_menubutton(widget, window, *_):
|
||||||
|
child = QtWidgets.QToolButton(widget)
|
||||||
|
child.setText('Menu Toolbutton')
|
||||||
|
child.setPopupMode(QtWidgets.QToolButton.MenuButtonPopup)
|
||||||
|
child.addActions([
|
||||||
|
QtWidgets.QAction('&Action 9', window),
|
||||||
|
QtWidgets.QAction('&Action 10', window),
|
||||||
|
])
|
||||||
|
|
||||||
|
return child
|
||||||
|
|
||||||
|
def test_tooltip(widget, *_):
|
||||||
|
child = QtWidgets.QPushButton('Sample Label')
|
||||||
|
child.setToolTip('Sample Tooltip')
|
||||||
|
|
||||||
|
return child
|
||||||
|
|
||||||
|
def test_splashscreen(_, window, __, ___, ____, app):
|
||||||
|
pixmap = QtGui.QPixmap('assets/Yellowstone.jpg')
|
||||||
|
size = app.screens()[0].size()
|
||||||
|
scaled = pixmap.scaled(size, QtCore.Qt.KeepAspectRatio)
|
||||||
|
splash = QtWidgets.QSplashScreen(scaled)
|
||||||
|
splash.show()
|
||||||
|
QtCore.QTimer.singleShot(2000, lambda: splash_timer(splash, window))
|
||||||
|
|
||||||
|
return None, None, False
|
||||||
|
|
||||||
|
def test_calendar(widget, *_):
|
||||||
|
child = QtWidgets.QCalendarWidget(widget)
|
||||||
|
child.setGridVisible(True)
|
||||||
|
|
||||||
|
return child
|
||||||
|
|
||||||
|
def test(args, qtargv, test_widget):
|
||||||
|
'''Test a single widget.'''
|
||||||
|
|
||||||
|
app = QtWidgets.QApplication(qtargv)
|
||||||
|
|
||||||
# use the default font size
|
# use the default font size
|
||||||
font = app.font()
|
font = app.font()
|
||||||
|
@ -182,419 +657,29 @@ def main(argv=None):
|
||||||
scroll.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAsNeeded)
|
scroll.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAsNeeded)
|
||||||
scroll.setWidgetResizable(True)
|
scroll.setWidgetResizable(True)
|
||||||
|
|
||||||
# Load the correct widget.
|
# Get the correct parameters for our test widget.
|
||||||
|
try:
|
||||||
|
function = globals()[f'test_{test_widget}']
|
||||||
|
except KeyError:
|
||||||
|
raise NotImplementedError(f'test for {test_widget} not implemented')
|
||||||
|
result = function(widget, window, font, args.width, args.height, app)
|
||||||
|
child = []
|
||||||
layout_type = 'vertical'
|
layout_type = 'vertical'
|
||||||
if args.widget == 'progress_bar_horizontal':
|
show_window = True
|
||||||
child = []
|
if result and isinstance(result, list):
|
||||||
bar1 = QtWidgets.QProgressBar(widget)
|
# Have a single value passed as a list
|
||||||
bar1.setProperty('value', 0)
|
child = result
|
||||||
child.append(bar1)
|
elif isinstance(result, tuple):
|
||||||
bar2 = QtWidgets.QProgressBar(widget)
|
child = result[0]
|
||||||
bar2.setProperty('value', 24)
|
|
||||||
child.append(bar2)
|
|
||||||
bar3 = QtWidgets.QProgressBar(widget)
|
|
||||||
bar3.setProperty('value', 99)
|
|
||||||
child.append(bar3)
|
|
||||||
bar4 = QtWidgets.QProgressBar(widget)
|
|
||||||
bar4.setProperty('value', 100)
|
|
||||||
child.append(bar4)
|
|
||||||
elif args.widget == 'progress_bar_vertical':
|
|
||||||
layout_type = 'horizontal'
|
|
||||||
child = []
|
|
||||||
bar1 = QtWidgets.QProgressBar(widget)
|
|
||||||
bar1.setOrientation(QtCore.Qt.Vertical)
|
|
||||||
bar1.setProperty('value', 0)
|
|
||||||
child.append(bar1)
|
|
||||||
bar2 = QtWidgets.QProgressBar(widget)
|
|
||||||
bar2.setOrientation(QtCore.Qt.Vertical)
|
|
||||||
bar2.setProperty('value', 24)
|
|
||||||
child.append(bar2)
|
|
||||||
bar3 = QtWidgets.QProgressBar(widget)
|
|
||||||
bar3.setOrientation(QtCore.Qt.Vertical)
|
|
||||||
bar3.setProperty('value', 99)
|
|
||||||
child.append(bar3)
|
|
||||||
bar4 = QtWidgets.QProgressBar(widget)
|
|
||||||
bar4.setOrientation(QtCore.Qt.Vertical)
|
|
||||||
bar4.setProperty('value', 100)
|
|
||||||
child.append(bar4)
|
|
||||||
elif args.widget == 'slider_horizontal':
|
|
||||||
child = QtWidgets.QSlider(widget)
|
|
||||||
child.setOrientation(QtCore.Qt.Horizontal)
|
|
||||||
elif args.widget == 'slider_vertical':
|
|
||||||
layout_type = 'horizontal'
|
|
||||||
child = QtWidgets.QSlider(widget)
|
|
||||||
child.setOrientation(QtCore.Qt.Vertical)
|
|
||||||
elif args.widget == 'splitter_horizontal':
|
|
||||||
layout_type = 'vertical'
|
|
||||||
child = QtWidgets.QSplitter(widget)
|
|
||||||
child.addWidget(QtWidgets.QListWidget())
|
|
||||||
child.addWidget(QtWidgets.QTreeWidget())
|
|
||||||
child.addWidget(QtWidgets.QTextEdit())
|
|
||||||
elif args.widget == 'splitter_vertical':
|
|
||||||
layout_type = 'horizontal'
|
|
||||||
child = QtWidgets.QSplitter(widget)
|
|
||||||
child.setOrientation(QtCore.Qt.Vertical)
|
|
||||||
child.addWidget(QtWidgets.QListWidget())
|
|
||||||
child.addWidget(QtWidgets.QTreeWidget())
|
|
||||||
child.addWidget(QtWidgets.QTextEdit())
|
|
||||||
elif args.widget == 'menu':
|
|
||||||
child = QtWidgets.QMenuBar(window)
|
|
||||||
child.setGeometry(QtCore.QRect(0, 0, args.width, int(1.5 * font.pointSize())))
|
|
||||||
menu = QtWidgets.QMenu('Main Menu', child)
|
|
||||||
menu.addAction(QtWidgets.QAction('&Action 1', window))
|
|
||||||
menu.addAction(QtWidgets.QAction('&Action 2', window))
|
|
||||||
submenu = QtWidgets.QMenu('Sub Menu', menu)
|
|
||||||
submenu.addAction(QtWidgets.QAction('&Action 3', window))
|
|
||||||
action1 = QtWidgets.QAction('&Action 4', window)
|
|
||||||
action1.setCheckable(True)
|
|
||||||
submenu.addAction(action1)
|
|
||||||
menu.addAction(submenu.menuAction())
|
|
||||||
action2 = QtWidgets.QAction('&Action 5', window)
|
|
||||||
action2.setCheckable(True)
|
|
||||||
action2.setChecked(True)
|
|
||||||
menu.addSeparator()
|
|
||||||
menu.addAction(action2)
|
|
||||||
action3 = QtWidgets.QAction('&Action 6', window)
|
|
||||||
action3.setCheckable(True)
|
|
||||||
menu.addAction(action3)
|
|
||||||
icon = QtGui.QIcon(':/dark/close.svg')
|
|
||||||
menu.addAction(QtWidgets.QAction(icon, '&Action 7', window))
|
|
||||||
menu.addAction(QtWidgets.QAction(icon, '&Action 8', window))
|
|
||||||
submenu.addAction(QtWidgets.QAction(icon, '&Action 9', window))
|
|
||||||
child.addAction(menu.menuAction())
|
|
||||||
window.setMenuBar(child)
|
|
||||||
elif args.widget == 'status_bar':
|
|
||||||
child = QtWidgets.QStatusBar(window)
|
|
||||||
window.setStatusBar(child)
|
|
||||||
elif args.widget == 'spinbox':
|
|
||||||
layout_type = 'horizontal'
|
|
||||||
child = []
|
|
||||||
spin1 = QtWidgets.QSpinBox(window)
|
|
||||||
spin1.setValue(10)
|
|
||||||
child.append(spin1)
|
|
||||||
spin2 = QtWidgets.QSpinBox(window)
|
|
||||||
spin2.setValue(10)
|
|
||||||
spin2.setEnabled(False)
|
|
||||||
child.append(spin2)
|
|
||||||
elif args.widget == 'double_spinbox':
|
|
||||||
layout_type = 'horizontal'
|
|
||||||
child = []
|
|
||||||
spin1 = QtWidgets.QDoubleSpinBox(window)
|
|
||||||
spin1.setValue(10.5)
|
|
||||||
child.append(spin1)
|
|
||||||
spin2 = QtWidgets.QDoubleSpinBox(window)
|
|
||||||
spin2.setValue(10.5)
|
|
||||||
spin2.setEnabled(False)
|
|
||||||
child.append(spin2)
|
|
||||||
elif args.widget == 'combobox':
|
|
||||||
layout_type = 'horizontal'
|
|
||||||
child = []
|
|
||||||
combo1 = QtWidgets.QComboBox(widget)
|
|
||||||
combo1.addItem('Item 1')
|
|
||||||
combo1.addItem('Item 2')
|
|
||||||
child.append(combo1)
|
|
||||||
combo2 = QtWidgets.QComboBox(widget)
|
|
||||||
combo2.addItem('Very Very Long Item 1')
|
|
||||||
combo2.addItem('Very Very Long Item 2')
|
|
||||||
child.append(combo2)
|
|
||||||
combo3 = QtWidgets.QComboBox(widget)
|
|
||||||
combo3.setEditable(True)
|
|
||||||
combo3.addItem('Edit 1')
|
|
||||||
combo3.addItem('Edit 2')
|
|
||||||
child.append(combo3)
|
|
||||||
elif args.widget == 'tab_widget_top':
|
|
||||||
child = QtWidgets.QTabWidget(widget)
|
|
||||||
child.setTabPosition(QtWidgets.QTabWidget.North)
|
|
||||||
child.addTab(QtWidgets.QWidget(), 'Tab 1')
|
|
||||||
child.addTab(QtWidgets.QWidget(), 'Tab 2')
|
|
||||||
child.addTab(QtWidgets.QWidget(), 'Tab 3')
|
|
||||||
elif args.widget == 'tab_widget_left':
|
|
||||||
child = QtWidgets.QTabWidget(widget)
|
|
||||||
child.setTabPosition(QtWidgets.QTabWidget.West)
|
|
||||||
child.addTab(QtWidgets.QWidget(), 'Tab 1')
|
|
||||||
child.addTab(QtWidgets.QWidget(), 'Tab 2')
|
|
||||||
child.addTab(QtWidgets.QWidget(), 'Tab 3')
|
|
||||||
elif args.widget == 'tab_widget_right':
|
|
||||||
child = QtWidgets.QTabWidget(widget)
|
|
||||||
child.setTabPosition(QtWidgets.QTabWidget.East)
|
|
||||||
child.addTab(QtWidgets.QWidget(), 'Tab 1')
|
|
||||||
child.addTab(QtWidgets.QWidget(), 'Tab 2')
|
|
||||||
child.addTab(QtWidgets.QWidget(), 'Tab 3')
|
|
||||||
elif args.widget == 'tab_widget_bottom':
|
|
||||||
child = QtWidgets.QTabWidget(widget)
|
|
||||||
child.setTabPosition(QtWidgets.QTabWidget.South)
|
|
||||||
child.addTab(QtWidgets.QWidget(), 'Tab 1')
|
|
||||||
child.addTab(QtWidgets.QWidget(), 'Tab 2')
|
|
||||||
child.addTab(QtWidgets.QWidget(), 'Tab 3')
|
|
||||||
elif args.widget == 'closable_tab_widget':
|
|
||||||
child = QtWidgets.QTabWidget(widget)
|
|
||||||
child.setTabPosition(QtWidgets.QTabWidget.East)
|
|
||||||
child.setTabsClosable(True)
|
|
||||||
child.addTab(QtWidgets.QWidget(), 'Tab 1')
|
|
||||||
child.addTab(QtWidgets.QWidget(), 'Tab 2')
|
|
||||||
child.addTab(QtWidgets.QWidget(), 'Tab 3')
|
|
||||||
elif args.widget == 'dock':
|
|
||||||
child = []
|
|
||||||
dock1 = QtWidgets.QDockWidget('&Dock widget 1', window)
|
|
||||||
dock2 = QtWidgets.QDockWidget('&Dock widget 2', window)
|
|
||||||
window.addDockWidget(QtCore.Qt.DockWidgetArea(QtCore.Qt.LeftDockWidgetArea), dock1)
|
|
||||||
window.addDockWidget(QtCore.Qt.DockWidgetArea(QtCore.Qt.LeftDockWidgetArea), dock2)
|
|
||||||
window.tabifyDockWidget(dock1, dock2)
|
|
||||||
elif args.widget == 'radio':
|
|
||||||
child = []
|
|
||||||
child.append(abstract_button(QtWidgets.QRadioButton, widget))
|
|
||||||
child.append(abstract_button(QtWidgets.QRadioButton, widget, checked=True))
|
|
||||||
child.append(abstract_button(QtWidgets.QRadioButton, widget, enabled=False))
|
|
||||||
child.append(abstract_button(QtWidgets.QRadioButton, widget, checked=True, enabled=False))
|
|
||||||
child.append(abstract_button(QtWidgets.QRadioButton, widget, 'With Text'))
|
|
||||||
elif args.widget == 'checkbox':
|
|
||||||
child = []
|
|
||||||
child.append(abstract_button(QtWidgets.QCheckBox, widget))
|
|
||||||
child.append(abstract_button(QtWidgets.QCheckBox, widget, checked=True))
|
|
||||||
child.append(abstract_button(QtWidgets.QCheckBox, widget, checked=QtCore.Qt.PartiallyChecked))
|
|
||||||
child.append(abstract_button(QtWidgets.QCheckBox, widget, enabled=False))
|
|
||||||
child.append(abstract_button(QtWidgets.QCheckBox, widget, checked=True, enabled=False))
|
|
||||||
child.append(abstract_button(QtWidgets.QCheckBox, widget, checked=QtCore.Qt.PartiallyChecked, enabled=False))
|
|
||||||
child.append(abstract_button(QtWidgets.QCheckBox, widget, 'With Text'))
|
|
||||||
child.append(abstract_button(QtWidgets.QCheckBox, widget, 'With Large Text'))
|
|
||||||
checkbox_font = app.font()
|
|
||||||
checkbox_font.setPointSizeF(50.0)
|
|
||||||
child[-1].setFont(checkbox_font)
|
|
||||||
elif args.widget == 'table':
|
|
||||||
child = QtWidgets.QTableWidget(widget)
|
|
||||||
child.setColumnCount(2)
|
|
||||||
child.setRowCount(4)
|
|
||||||
item = QtWidgets.QTableWidgetItem('Row 1')
|
|
||||||
child.setVerticalHeaderItem(0, item)
|
|
||||||
item = QtWidgets.QTableWidgetItem('Row 2')
|
|
||||||
child.setVerticalHeaderItem(1, item)
|
|
||||||
item = QtWidgets.QTableWidgetItem('Row 3')
|
|
||||||
child.setVerticalHeaderItem(2, item)
|
|
||||||
item = QtWidgets.QTableWidgetItem('Row 4')
|
|
||||||
child.setVerticalHeaderItem(3, item)
|
|
||||||
item = QtWidgets.QTableWidgetItem('Column 1')
|
|
||||||
child.setHorizontalHeaderItem(0, item)
|
|
||||||
item = QtWidgets.QTableWidgetItem('Column 2')
|
|
||||||
child.setHorizontalHeaderItem(1, item)
|
|
||||||
elif args.widget == 'sortable_table':
|
|
||||||
child = QtWidgets.QTableWidget(widget)
|
|
||||||
child.setSortingEnabled(True)
|
|
||||||
child.setColumnCount(2)
|
|
||||||
child.setRowCount(4)
|
|
||||||
item = QtWidgets.QTableWidgetItem('Row 1')
|
|
||||||
child.setVerticalHeaderItem(0, item)
|
|
||||||
item = QtWidgets.QTableWidgetItem('Row 2')
|
|
||||||
child.setVerticalHeaderItem(1, item)
|
|
||||||
item = QtWidgets.QTableWidgetItem('Row 3')
|
|
||||||
child.setVerticalHeaderItem(2, item)
|
|
||||||
item = QtWidgets.QTableWidgetItem('Row 4')
|
|
||||||
child.setVerticalHeaderItem(3, item)
|
|
||||||
item = QtWidgets.QTableWidgetItem('Column 1')
|
|
||||||
child.setHorizontalHeaderItem(0, item)
|
|
||||||
item = QtWidgets.QTableWidgetItem('Column 2')
|
|
||||||
child.setHorizontalHeaderItem(1, item)
|
|
||||||
elif args.widget == 'list':
|
|
||||||
child = QtWidgets.QListWidget(widget)
|
|
||||||
for index in range(10):
|
|
||||||
item = QtWidgets.QListWidgetItem(f'Item {index + 1}')
|
|
||||||
item.setTextAlignment(random.choice([QtCore.Qt.AlignLeft, QtCore.Qt.AlignRight, QtCore.Qt.AlignHCenter]))
|
|
||||||
child.addItem(item)
|
|
||||||
icon = QtGui.QIcon(':/dark/close.svg')
|
|
||||||
for index in range(10):
|
|
||||||
item = QtWidgets.QListWidgetItem(icon, f'Item {index + 1}')
|
|
||||||
item.setTextAlignment(random.choice([QtCore.Qt.AlignLeft, QtCore.Qt.AlignRight, QtCore.Qt.AlignHCenter]))
|
|
||||||
child.addItem(item)
|
|
||||||
elif args.widget == 'scrollbar_vertical':
|
|
||||||
child = QtWidgets.QListWidget(widget)
|
|
||||||
for index in range(100):
|
|
||||||
child.addItem(QtWidgets.QListWidgetItem(f'Item {index + 1}'))
|
|
||||||
elif args.widget == 'scrollbar_horizontal':
|
|
||||||
child = QtWidgets.QTableWidget(widget)
|
|
||||||
child.setColumnCount(100)
|
|
||||||
child.setRowCount(1)
|
|
||||||
item = QtWidgets.QTableWidgetItem(f'Row 1')
|
|
||||||
child.setVerticalHeaderItem(0, item)
|
|
||||||
for index in range(100):
|
|
||||||
item = QtWidgets.QTableWidgetItem(f'Column {index + 1}')
|
|
||||||
child.setHorizontalHeaderItem(index, item)
|
|
||||||
elif args.widget == 'toolbar':
|
|
||||||
layout_type = None
|
|
||||||
child = []
|
|
||||||
toolbar1 = QtWidgets.QToolBar('Toolbar')
|
|
||||||
toolbar1.addAction('&Action 1')
|
|
||||||
toolbar1.addAction('&Action 2')
|
|
||||||
toolbar1.addSeparator()
|
|
||||||
toolbar1.addAction('&Action 3')
|
|
||||||
toolbar1.addAction('&Action 3 Really Long Name')
|
|
||||||
icon = QtGui.QIcon(':/dark/close.svg')
|
|
||||||
toolbar1.addAction(icon, '&Action 4')
|
|
||||||
window.addToolBar(QtCore.Qt.TopToolBarArea, toolbar1)
|
|
||||||
|
|
||||||
toolbar2 = QtWidgets.QToolBar('Toolbar')
|
|
||||||
toolbar2.setOrientation(QtCore.Qt.Vertical)
|
|
||||||
toolbar2.addAction('&Action 1')
|
|
||||||
toolbar2.addAction('&Action 2')
|
|
||||||
toolbar2.addSeparator()
|
|
||||||
toolbar2.addAction('&Action 3')
|
|
||||||
toolbar2.addAction('&Action 3 Really Long Name')
|
|
||||||
icon = QtGui.QIcon(':/dark/close.svg')
|
|
||||||
toolbar2.addAction(icon, '&Action 4')
|
|
||||||
window.addToolBar(QtCore.Qt.LeftToolBarArea, toolbar2)
|
|
||||||
elif args.widget == 'toolbutton':
|
|
||||||
layout_type = 'horizontal'
|
|
||||||
child = [
|
|
||||||
QtWidgets.QToolButton(widget),
|
|
||||||
QtWidgets.QToolButton(widget),
|
|
||||||
QtWidgets.QToolButton(widget),
|
|
||||||
QtWidgets.QToolButton(widget),
|
|
||||||
QtWidgets.QToolButton(widget),
|
|
||||||
QtWidgets.QToolButton(widget),
|
|
||||||
QtWidgets.QToolButton(widget),
|
|
||||||
QtWidgets.QToolButton(widget),
|
|
||||||
QtWidgets.QToolButton(widget),
|
|
||||||
]
|
|
||||||
window.setTabOrder(child[0], child[1])
|
|
||||||
window.setTabOrder(child[1], child[2])
|
|
||||||
window.setTabOrder(child[2], child[3])
|
|
||||||
window.setTabOrder(child[3], child[4])
|
|
||||||
window.setTabOrder(child[4], child[5])
|
|
||||||
window.setTabOrder(child[5], child[6])
|
|
||||||
window.setTabOrder(child[6], child[7])
|
|
||||||
child[0].setText('Simple ToolButton')
|
|
||||||
child[1].setText('Action Toolbutton')
|
|
||||||
child[2].setText('Menu Toolbutton')
|
|
||||||
child[3].setText('Instant Toolbutton')
|
|
||||||
child[1].addActions([
|
|
||||||
QtWidgets.QAction('&Action 5', window),
|
|
||||||
QtWidgets.QAction('&Action 6', window),
|
|
||||||
])
|
|
||||||
child[2].setPopupMode(QtWidgets.QToolButton.MenuButtonPopup)
|
|
||||||
child[2].addActions([
|
|
||||||
QtWidgets.QAction('&Action 9', window),
|
|
||||||
QtWidgets.QAction('&Action 10', window),
|
|
||||||
])
|
|
||||||
child[3].setPopupMode(QtWidgets.QToolButton.InstantPopup)
|
|
||||||
child[3].addActions([
|
|
||||||
QtWidgets.QAction('&Action 11', window),
|
|
||||||
QtWidgets.QAction('&Action 12', window),
|
|
||||||
])
|
|
||||||
child[4].setArrowType(QtCore.Qt.LeftArrow)
|
|
||||||
child[5].setArrowType(QtCore.Qt.RightArrow)
|
|
||||||
child[6].setArrowType(QtCore.Qt.UpArrow)
|
|
||||||
child[7].setArrowType(QtCore.Qt.DownArrow)
|
|
||||||
icon = QtGui.QIcon(':/dark/close.svg')
|
|
||||||
child[8].setIcon(icon)
|
|
||||||
elif args.widget == 'pushbutton':
|
|
||||||
layout_type = 'horizontal'
|
|
||||||
child = []
|
|
||||||
child.append(abstract_button(QtWidgets.QPushButton, widget, 'Button 1', checked=True))
|
|
||||||
child.append(abstract_button(QtWidgets.QPushButton, widget, 'Button 2', enabled=False))
|
|
||||||
child.append(abstract_button(QtWidgets.QPushButton, widget, 'Button 3', checkable=False))
|
|
||||||
icon = QtGui.QIcon(':/dark/close.svg')
|
|
||||||
child.append(abstract_button(QtWidgets.QPushButton, widget, icon, 'Button 4', checkable=False))
|
|
||||||
elif args.widget == 'tree':
|
|
||||||
child = []
|
|
||||||
tree1 = QtWidgets.QTreeWidget(widget)
|
|
||||||
tree1.setHeaderLabel('Tree 1')
|
|
||||||
item1 = QtWidgets.QTreeWidgetItem(tree1, ['Row 1'])
|
|
||||||
item2 = QtWidgets.QTreeWidgetItem(tree1, ['Row 2'])
|
|
||||||
item3 = QtWidgets.QTreeWidgetItem(item2, ['Row 2.1'])
|
|
||||||
item3.setFlags(item3.flags() | QtCore.Qt.ItemIsUserCheckable)
|
|
||||||
item3.setCheckState(0, QtCore.Qt.Unchecked)
|
|
||||||
item4 = QtWidgets.QTreeWidgetItem(item2, ['Row 2.2'])
|
|
||||||
item5 = QtWidgets.QTreeWidgetItem(item4, ['Row 2.2.1'])
|
|
||||||
item6 = QtWidgets.QTreeWidgetItem(item5, ['Row 2.2.1.1'])
|
|
||||||
item7 = QtWidgets.QTreeWidgetItem(item5, ['Row 2.2.1.2'])
|
|
||||||
item7.setFlags(item7.flags() | QtCore.Qt.ItemIsUserCheckable)
|
|
||||||
item7.setCheckState(0, QtCore.Qt.Checked)
|
|
||||||
item8 = QtWidgets.QTreeWidgetItem(item2, ['Row 2.3'])
|
|
||||||
item8.setFlags(item8.flags() | QtCore.Qt.ItemIsUserTristate)
|
|
||||||
item8.setCheckState(0, QtCore.Qt.PartiallyChecked)
|
|
||||||
item9 = QtWidgets.QTreeWidgetItem(tree1, ['Row 3'])
|
|
||||||
item10 = QtWidgets.QTreeWidgetItem(item9, ['Row 3.1'])
|
|
||||||
item11 = QtWidgets.QTreeWidgetItem(tree1, ['Row 4'])
|
|
||||||
child.append(tree1)
|
|
||||||
tree2 = QtWidgets.QTreeWidget(widget)
|
|
||||||
tree2.setHeaderLabel('Tree 2')
|
|
||||||
tree2.header().setSectionsClickable(True)
|
|
||||||
item12 = QtWidgets.QTreeWidgetItem(tree2, ['Row 1', 'Column 2', 'Column 3'])
|
|
||||||
child.append(tree2)
|
|
||||||
elif args.widget == 'view_scrollarea':
|
|
||||||
# For us to have both scrollbars visible.
|
|
||||||
child = QtWidgets.QTableWidget(widget)
|
|
||||||
child.setColumnCount(100)
|
|
||||||
child.setRowCount(100)
|
|
||||||
for index in range(100):
|
|
||||||
row = QtWidgets.QTableWidgetItem(f'Row {index + 1}')
|
|
||||||
child.setVerticalHeaderItem(0, row)
|
|
||||||
column = QtWidgets.QTableWidgetItem(f'Column {index + 1}')
|
|
||||||
child.setHorizontalHeaderItem(index, column)
|
|
||||||
elif args.widget == 'widget_scrollarea':
|
|
||||||
child = QtWidgets.QProgressBar(widget)
|
|
||||||
child.setProperty('value', 24)
|
|
||||||
window.resize(30, 30)
|
|
||||||
elif args.widget == 'frame':
|
|
||||||
child = []
|
|
||||||
text = QtWidgets.QTextEdit()
|
|
||||||
text.setPlainText('Hello world\nTesting lines')
|
|
||||||
child.append(text)
|
|
||||||
table = QtWidgets.QTableWidget()
|
|
||||||
table.setColumnCount(5)
|
|
||||||
table.setRowCount(5)
|
|
||||||
child.append(table)
|
|
||||||
elif args.widget == 'groupbox':
|
|
||||||
child = []
|
|
||||||
child.append(QtWidgets.QGroupBox('Groupbox 1', widget))
|
|
||||||
checkable = QtWidgets.QGroupBox('Groupbox 2', widget)
|
|
||||||
checkable.setCheckable(True)
|
|
||||||
child.append(checkable)
|
|
||||||
vbox = QtWidgets.QVBoxLayout(checkable)
|
|
||||||
vbox.setAlignment(QtCore.Qt.AlignHCenter)
|
|
||||||
vbox.addWidget(QtWidgets.QLineEdit('Sample Label'))
|
|
||||||
elif args.widget == 'toolbox':
|
|
||||||
# Test alignment with another item, in a vertical layout.
|
|
||||||
child = []
|
|
||||||
child.append(QtWidgets.QGroupBox('Groupbox', widget))
|
|
||||||
child.append(QtWidgets.QGroupBox('Really, really long groupbox', widget))
|
|
||||||
toolbox = QtWidgets.QToolBox(widget)
|
|
||||||
child.append(toolbox)
|
|
||||||
page1 = QtWidgets.QWidget()
|
|
||||||
toolbox.addItem(page1, 'Page 1')
|
|
||||||
page2 = QtWidgets.QWidget()
|
|
||||||
vbox = QtWidgets.QVBoxLayout(page2)
|
|
||||||
vbox.addWidget(QtWidgets.QLabel('Sample Label'))
|
|
||||||
toolbox.addItem(page2, 'Page 2')
|
|
||||||
page3 = QtWidgets.QWidget()
|
|
||||||
toolbox.addItem(page3, 'Really, really long page 3')
|
|
||||||
elif args.widget == 'menubutton':
|
|
||||||
child = QtWidgets.QToolButton(widget)
|
|
||||||
child.setText('Menu Toolbutton')
|
|
||||||
child.setPopupMode(QtWidgets.QToolButton.MenuButtonPopup)
|
|
||||||
child.addActions([
|
|
||||||
QtWidgets.QAction('&Action 9', window),
|
|
||||||
QtWidgets.QAction('&Action 10', window),
|
|
||||||
])
|
|
||||||
elif args.widget == 'tooltip':
|
|
||||||
child = QtWidgets.QPushButton('Sample Label')
|
|
||||||
child.setToolTip('Sample Tooltip')
|
|
||||||
elif args.widget == 'splashscreen':
|
|
||||||
# This doesn't work with a central widget.
|
|
||||||
# Handle the run here.
|
|
||||||
pixmap = QtGui.QPixmap('assets/Yellowstone.jpg')
|
|
||||||
size = app.screens()[0].size()
|
|
||||||
scaled = pixmap.scaled(size, QtCore.Qt.KeepAspectRatio)
|
|
||||||
splash = QtWidgets.QSplashScreen(scaled)
|
|
||||||
splash.show()
|
|
||||||
QtCore.QTimer.singleShot(2000, lambda: splash_timer(splash, window))
|
|
||||||
return app.exec()
|
|
||||||
elif args.widget == 'calendar':
|
|
||||||
child = QtWidgets.QCalendarWidget(widget)
|
|
||||||
child.setGridVisible(True)
|
|
||||||
else:
|
else:
|
||||||
raise NotImplementedError
|
child = result
|
||||||
|
if isinstance(result, tuple) and len(result) >= 2:
|
||||||
|
layout_type = result[1]
|
||||||
|
if isinstance(result, tuple) and len(result) >= 3:
|
||||||
|
show_window = result[2]
|
||||||
|
|
||||||
# Add the widgets to the layout.
|
# Add the widgets to the layout.
|
||||||
if layout_type is not None:
|
if layout_type is not None and child is not None:
|
||||||
widget_layout = layout[layout_type]()
|
widget_layout = layout[layout_type]()
|
||||||
if args.compress:
|
if args.compress:
|
||||||
widget_layout.addStretch(1)
|
widget_layout.addStretch(1)
|
||||||
|
@ -609,8 +694,30 @@ def main(argv=None):
|
||||||
window.setCentralWidget(scroll)
|
window.setCentralWidget(scroll)
|
||||||
|
|
||||||
# run
|
# run
|
||||||
window.show()
|
if show_window:
|
||||||
|
window.show()
|
||||||
return app.exec_()
|
return app.exec_()
|
||||||
|
|
||||||
|
def main(argv=None):
|
||||||
|
'Application entry point'
|
||||||
|
|
||||||
|
# Disable garbage collection to avoid runtime errors.
|
||||||
|
gc.disable()
|
||||||
|
args, unknown = parser.parse_known_args(argv)
|
||||||
|
os.environ['QT_SCALE_FACTOR'] = str(args.scale)
|
||||||
|
if args.style != 'native':
|
||||||
|
style = QtWidgets.QStyleFactory.create(args.style)
|
||||||
|
QtWidgets.QApplication.setStyle(style)
|
||||||
|
if args.widget == 'all':
|
||||||
|
all_tests = [i for i in globals().keys() if i.startswith('test_')]
|
||||||
|
all_widgets = [i[len('test_'):] for i in all_tests]
|
||||||
|
for widget in all_widgets:
|
||||||
|
test(args, argv[:1] + unknown, widget)
|
||||||
|
gc.collect()
|
||||||
|
else:
|
||||||
|
test(args, argv[:1] + unknown, args.widget)
|
||||||
|
|
||||||
|
return 0
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
sys.exit(main(sys.argv))
|
sys.exit(main(sys.argv))
|
||||||
|
|
|
@ -35,6 +35,7 @@
|
||||||
"button:background": "#31363b",
|
"button:background": "#31363b",
|
||||||
"button:background:pressed": "#454a4f",
|
"button:background:pressed": "#454a4f",
|
||||||
"button:border": "#76797c",
|
"button:border": "#76797c",
|
||||||
|
"button:checked": "#626568",
|
||||||
"button:disabled": "#454545",
|
"button:disabled": "#454545",
|
||||||
"close:hover": "#b37979",
|
"close:hover": "#b37979",
|
||||||
"close:pressed": "#b33e3e",
|
"close:pressed": "#b33e3e",
|
||||||
|
|
|
@ -35,6 +35,7 @@
|
||||||
"button:background": "#31363b",
|
"button:background": "#31363b",
|
||||||
"button:background:pressed": "#454a4f",
|
"button:background:pressed": "#454a4f",
|
||||||
"button:border": "#76797c",
|
"button:border": "#76797c",
|
||||||
|
"button:checked": "#626568",
|
||||||
"button:disabled": "#454545",
|
"button:disabled": "#454545",
|
||||||
"close:hover": "#b37979",
|
"close:hover": "#b37979",
|
||||||
"close:pressed": "#b33e3e",
|
"close:pressed": "#b33e3e",
|
||||||
|
|
|
@ -35,6 +35,7 @@
|
||||||
"button:background": "#31363b",
|
"button:background": "#31363b",
|
||||||
"button:background:pressed": "#454a4f",
|
"button:background:pressed": "#454a4f",
|
||||||
"button:border": "#76797c",
|
"button:border": "#76797c",
|
||||||
|
"button:checked": "#626568",
|
||||||
"button:disabled": "#454545",
|
"button:disabled": "#454545",
|
||||||
"close:hover": "#b37979",
|
"close:hover": "#b37979",
|
||||||
"close:pressed": "#b33e3e",
|
"close:pressed": "#b33e3e",
|
||||||
|
|
|
@ -14,7 +14,6 @@
|
||||||
"midtone:hover": "#787876",
|
"midtone:hover": "#787876",
|
||||||
"view:checked": "#b9dae7",
|
"view:checked": "#b9dae7",
|
||||||
"view:hover": "rgba(61, 173, 232, 0.2)",
|
"view:hover": "rgba(61, 173, 232, 0.2)",
|
||||||
|
|
||||||
"toolbar:horizontal:background": "#eff0f1",
|
"toolbar:horizontal:background": "#eff0f1",
|
||||||
"toolbar:vertical:background": "#eff0f1",
|
"toolbar:vertical:background": "#eff0f1",
|
||||||
"view:corner": "#eff0f1",
|
"view:corner": "#eff0f1",
|
||||||
|
@ -36,6 +35,7 @@
|
||||||
"button:background": "#eaebec",
|
"button:background": "#eaebec",
|
||||||
"button:background:pressed": "#bedfec",
|
"button:background:pressed": "#bedfec",
|
||||||
"button:border": "#bab9b8",
|
"button:border": "#bab9b8",
|
||||||
|
"button:checked": "#c7c7c6",
|
||||||
"button:disabled": "#b4b4b4",
|
"button:disabled": "#b4b4b4",
|
||||||
"close:hover": "#dc7676",
|
"close:hover": "#dc7676",
|
||||||
"close:pressed": "#b33e3e",
|
"close:pressed": "#b33e3e",
|