Added QCheckBox and QRadioButtons
|
@ -0,0 +1,95 @@
|
|||
#!/usr/bin/env python
|
||||
#
|
||||
# The MIT License (MIT)
|
||||
#
|
||||
# Copyright (c) <2013-2014> <Colin Duquesnoy>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
# in the Software without restriction, including without limitation the rights
|
||||
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
# copies of the Software, and to permit persons to whom the Software is
|
||||
# furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included in
|
||||
# all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
# THE SOFTWARE.
|
||||
#
|
||||
"""
|
||||
A simple example of use.
|
||||
|
||||
Load an ui made in QtDesigner and apply the DarkStyleSheet.
|
||||
|
||||
|
||||
Requirements:
|
||||
- Python 2 or Python 3
|
||||
- PyQt4
|
||||
|
||||
.. note.. :: qdarkstyle does not have to be installed to run
|
||||
the example
|
||||
|
||||
"""
|
||||
import logging
|
||||
import sys
|
||||
from PyQt5 import QtWidgets, QtCore
|
||||
from PyQt5.QtCore import QFile, QTextStream
|
||||
# make the example runnable without the need to install
|
||||
|
||||
import breeze
|
||||
import example
|
||||
|
||||
|
||||
def main():
|
||||
"""
|
||||
Application entry point
|
||||
"""
|
||||
logging.basicConfig(level=logging.DEBUG)
|
||||
# create the application and the main window
|
||||
app = QtWidgets.QApplication(sys.argv)
|
||||
app.setStyle(QtWidgets.QStyleFactory.create("fusion"))
|
||||
window = QtWidgets.QMainWindow()
|
||||
|
||||
# setup ui
|
||||
ui = example.Ui_MainWindow()
|
||||
ui.setupUi(window)
|
||||
ui.bt_delay_popup.addActions([
|
||||
ui.actionAction,
|
||||
ui.actionAction_C
|
||||
])
|
||||
ui.bt_instant_popup.addActions([
|
||||
ui.actionAction,
|
||||
ui.actionAction_C
|
||||
])
|
||||
ui.bt_menu_button_popup.addActions([
|
||||
ui.actionAction,
|
||||
ui.actionAction_C
|
||||
])
|
||||
window.setWindowTitle("BreezeDark example")
|
||||
|
||||
# tabify dock widgets to show bug #6
|
||||
window.tabifyDockWidget(ui.dockWidget1, ui.dockWidget2)
|
||||
|
||||
# setup stylesheet
|
||||
file = QFile(":/dark.qss")
|
||||
file.open(QFile.ReadOnly | QFile.Text)
|
||||
stream = QTextStream(file)
|
||||
app.setStyleSheet(stream.readAll())
|
||||
|
||||
# auto quit after 2s when testing on travis-ci
|
||||
if "--travis" in sys.argv:
|
||||
QtCore.QTimer.singleShot(2000, app.exit)
|
||||
|
||||
# run
|
||||
window.show()
|
||||
app.exec_()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
23
dark.qss
|
@ -91,7 +91,7 @@ QGroupBox::indicator
|
|||
QCheckBox::indicator:unchecked,
|
||||
QCheckBox::indicator:unchecked:focus
|
||||
{
|
||||
image: url(:/dark/checkbox_unchecked_disabled.svg);
|
||||
border-image: url(:/dark/checkbox_unchecked_disabled.svg);
|
||||
}
|
||||
|
||||
QCheckBox::indicator:unchecked:hover,
|
||||
|
@ -101,12 +101,12 @@ QGroupBox::indicator:unchecked:focus,
|
|||
QGroupBox::indicator:unchecked:pressed
|
||||
{
|
||||
border: none;
|
||||
image: url(:/dark/checkbox_unchecked.svg);
|
||||
border-image: url(:/dark/checkbox_unchecked.svg);
|
||||
}
|
||||
|
||||
QCheckBox::indicator:checked
|
||||
{
|
||||
image: url(:/dark/checkbox_checked.svg);
|
||||
border-image: url(:/dark/checkbox_checked.svg);
|
||||
}
|
||||
|
||||
QCheckBox::indicator:checked:hover,
|
||||
|
@ -117,36 +117,36 @@ QGroupBox::indicator:checked:focus,
|
|||
QGroupBox::indicator:checked:pressed
|
||||
{
|
||||
border: none;
|
||||
image: url(:/dark/checkbox_checked.svg);
|
||||
border-image: url(:/dark/checkbox_checked.svg);
|
||||
}
|
||||
|
||||
QCheckBox::indicator:indeterminate
|
||||
{
|
||||
image: url(:/dark/checkbox_indeterminate.svg);
|
||||
border-image: url(:/dark/checkbox_indeterminate.svg);
|
||||
}
|
||||
|
||||
QCheckBox::indicator:indeterminate:focus,
|
||||
QCheckBox::indicator:indeterminate:hover,
|
||||
QCheckBox::indicator:indeterminate:pressed
|
||||
{
|
||||
image: url(:/dark/checkbox_indeterminate.svg);
|
||||
border-image: url(:/dark/checkbox_indeterminate.svg);
|
||||
}
|
||||
|
||||
QCheckBox::indicator:indeterminate:disabled
|
||||
{
|
||||
image: url(:/dark/checkbox_indeterminate_disabled.svg);
|
||||
border-image: url(:/dark/checkbox_indeterminate_disabled.svg);
|
||||
}
|
||||
|
||||
QCheckBox::indicator:checked:disabled,
|
||||
QGroupBox::indicator:checked:disabled
|
||||
{
|
||||
image: url(:/dark/checkbox_checked_disabled.svg);
|
||||
border-image: url(:/dark/checkbox_checked_disabled.svg);
|
||||
}
|
||||
|
||||
QCheckBox::indicator:unchecked:disabled,
|
||||
QGroupBox::indicator:unchecked:disabled
|
||||
{
|
||||
image: url(:/dark/checkbox_unchecked_disabled.svg);
|
||||
border-image: url(:/dark/checkbox_unchecked_disabled.svg);
|
||||
}
|
||||
|
||||
QRadioButton
|
||||
|
@ -338,7 +338,10 @@ QWidget:focus, QMenuBar:focus
|
|||
border: 1px solid #3daee9;
|
||||
}
|
||||
|
||||
QTabWidget:focus, QCheckBox:focus, QRadioButton:focus, QSlider:focus
|
||||
QTabWidget:focus,
|
||||
QCheckBox:focus,
|
||||
QRadioButton:focus,
|
||||
QSlider:focus
|
||||
{
|
||||
border: none;
|
||||
}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
<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-14 v-14 z" fill="none" stroke-linecap="square" stroke="#58d3ff" stroke-width="1px"/>
|
||||
<path d="M5,5 h8 v8 h-8 v-8 z" fill="#58d3ff" fill-rule="evenodd" stroke-linecap="square" stroke="#58d3ff" stroke-width="2px"/>
|
||||
<path d="M2,2 h14 v14 h-0.9 v-13.1 h-13.1 z" fill="#58d3ff"/>
|
||||
<path d="M16,16 h-14 v-14 h0.9 v13.1 h13.1 z" fill="#58d3ff"/>
|
||||
<path d="M5,5 h8 v8 h-8 v-8 z" fill="#58d3ff" fill-rule="evenodd"/>
|
||||
</svg>
|
||||
|
|
Before Width: | Height: | Size: 372 B After Width: | Height: | Size: 330 B |
|
@ -1,4 +1,5 @@
|
|||
<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-14 v-14 z" fill="none" stroke-linecap="square" stroke="#c8c9ca" stroke-width="1px"/>
|
||||
<path d="M5,5 h8 v8 h-8 v-8 z" fill="#c8c9ca" fill-rule="evenodd" stroke-linecap="square" stroke="#c8c9ca" stroke-width="2px"/>
|
||||
<path d="M2,2 h14 v14 h-0.9 v-13.1 h-13.1 z" fill="#c8c9ca"/>
|
||||
<path d="M16,16 h-14 v-14 h0.9 v13.1 h13.1 z" fill="#c8c9ca"/>
|
||||
<path d="M5,5 h8 v8 h-8 v-8 z" fill="#c8c9ca" fill-rule="evenodd"/>
|
||||
</svg>
|
||||
|
|
Before Width: | Height: | Size: 372 B After 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">
|
||||
<path d="M1.8,1.8 h14.4 v14.4 h-14.4 v-14.4 z" fill="none" stroke-linecap="round" stroke="#58d3ff" stroke-width="1px"/>
|
||||
<path d="M5.4,5.4 h7.2 v7.2 h-7.2 v-7.2 z" fill="none" stroke-linecap="round" stroke="#58d3ff" stroke-width="2px"/>
|
||||
<path d="M13.5,4.5 L 4.5,13.5 v-9 h9 z" fill="#58d3ff" fill-rule="evenodd"/>
|
||||
<path d="M2,2 h14 v14 h-0.9 v-13.1 h-13.1 z" fill="#58d3ff"/>
|
||||
<path d="M16,16 h-14 v-14 h0.9 v13.1 h13.1 z" fill="#58d3ff"/>
|
||||
<path d="M5,5 h8 v8 h-0.9 v-7.1 h-7.1 z" fill="#58d3ff" fill-rule="evenodd"/>
|
||||
<path d="M13,13 h-8 v-8 h0.9 v7.1 h7.1 z" fill="#58d3ff" fill-rule="evenodd"/>
|
||||
<path d="M13,5 L 5,13 v-8 h8 z" fill="#58d3ff" fill-rule="evenodd"/>
|
||||
</svg>
|
||||
|
|
Before Width: | Height: | Size: 451 B After Width: | Height: | Size: 492 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">
|
||||
<path d="M1.8,1.8 h14.4 v14.4 h-14.4 v-14.4 z" fill="none" stroke-linecap="round" stroke="#c8c9ca" stroke-width="1px"/>
|
||||
<path d="M5.4,5.4 h7.2 v7.2 h-7.2 v-7.2 z" fill="none" stroke-linecap="round" stroke="#c8c9ca" stroke-width="2px"/>
|
||||
<path d="M13.5,4.5 L 4.5,13.5 v-9 h9 z" fill="#c8c9ca" fill-rule="evenodd"/>
|
||||
<path d="M2,2 h14 v14 h-0.9 v-13.1 h-13.1 z" fill="#c8c9ca"/>
|
||||
<path d="M16,16 h-14 v-14 h0.9 v13.1 h13.1 z" fill="#c8c9ca"/>
|
||||
<path d="M5,5 h8 v8 h-0.9 v-7.1 h-7.1 z" fill="#c8c9ca" fill-rule="evenodd"/>
|
||||
<path d="M13,13 h-8 v-8 h0.9 v7.1 h7.1 z" fill="#c8c9ca" fill-rule="evenodd"/>
|
||||
<path d="M13,5 L 5,13 v-8 h8 z" fill="#c8c9ca" fill-rule="evenodd"/>
|
||||
</svg>
|
||||
|
|
Before Width: | Height: | Size: 451 B After Width: | Height: | Size: 492 B |
|
@ -1,3 +1,4 @@
|
|||
<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-14 v-14 z" fill="none" stroke-linecap="square" stroke="#58d3ff" stroke-width="1px"/>
|
||||
<path d="M2,2 h14 v14 h-0.9 v-13.1 h-13.1 z" fill="#58d3ff"/>
|
||||
<path d="M16,16 h-14 v-14 h0.9 v13.1 h13.1 z" fill="#58d3ff"/>
|
||||
</svg>
|
||||
|
|
Before Width: | Height: | Size: 242 B After Width: | Height: | Size: 260 B |
|
@ -1,3 +1,4 @@
|
|||
<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-14 v-14 z" fill="none" stroke-linecap="square" stroke="#c8c9ca" stroke-width="1px"/>
|
||||
<path d="M2,2 h14 v14 h-0.9 v-13.1 h-13.1 z" fill="#c8c9ca"/>
|
||||
<path d="M16,16 h-14 v-14 h0.9 v13.1 h13.1 z" fill="#c8c9ca"/>
|
||||
</svg>
|
||||
|
|
Before Width: | Height: | Size: 242 B After Width: | Height: | Size: 260 B |
|
@ -0,0 +1,357 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'example.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.4.2
|
||||
#
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
|
||||
class Ui_MainWindow(object):
|
||||
def setupUi(self, MainWindow):
|
||||
MainWindow.setObjectName("MainWindow")
|
||||
MainWindow.resize(1068, 824)
|
||||
self.centralwidget = QtWidgets.QWidget(MainWindow)
|
||||
self.centralwidget.setObjectName("centralwidget")
|
||||
self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.centralwidget)
|
||||
self.verticalLayout_5.setObjectName("verticalLayout_5")
|
||||
self.tabWidget = QtWidgets.QTabWidget(self.centralwidget)
|
||||
self.tabWidget.setTabPosition(QtWidgets.QTabWidget.East)
|
||||
self.tabWidget.setTabsClosable(True)
|
||||
self.tabWidget.setObjectName("tabWidget")
|
||||
self.tab = QtWidgets.QWidget()
|
||||
self.tab.setObjectName("tab")
|
||||
self.gridLayout = QtWidgets.QGridLayout(self.tab)
|
||||
self.gridLayout.setObjectName("gridLayout")
|
||||
self.groupBox = QtWidgets.QGroupBox(self.tab)
|
||||
self.groupBox.setObjectName("groupBox")
|
||||
self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.groupBox)
|
||||
self.verticalLayout_3.setObjectName("verticalLayout_3")
|
||||
self.toolBox = QtWidgets.QToolBox(self.groupBox)
|
||||
self.toolBox.setObjectName("toolBox")
|
||||
self.page = QtWidgets.QWidget()
|
||||
self.page.setGeometry(QtCore.QRect(0, 0, 718, 227))
|
||||
self.page.setObjectName("page")
|
||||
self.gridLayout_4 = QtWidgets.QGridLayout(self.page)
|
||||
self.gridLayout_4.setObjectName("gridLayout_4")
|
||||
self.lineEdit = QtWidgets.QLineEdit(self.page)
|
||||
self.lineEdit.setObjectName("lineEdit")
|
||||
self.gridLayout_4.addWidget(self.lineEdit, 0, 0, 1, 1)
|
||||
self.toolBox.addItem(self.page, "")
|
||||
self.page_2 = QtWidgets.QWidget()
|
||||
self.page_2.setGeometry(QtCore.QRect(0, 0, 718, 227))
|
||||
self.page_2.setObjectName("page_2")
|
||||
self.gridLayout_5 = QtWidgets.QGridLayout(self.page_2)
|
||||
self.gridLayout_5.setObjectName("gridLayout_5")
|
||||
self.listWidget = QtWidgets.QListWidget(self.page_2)
|
||||
self.listWidget.setObjectName("listWidget")
|
||||
item = QtWidgets.QListWidgetItem()
|
||||
self.listWidget.addItem(item)
|
||||
item = QtWidgets.QListWidgetItem()
|
||||
self.listWidget.addItem(item)
|
||||
item = QtWidgets.QListWidgetItem()
|
||||
self.listWidget.addItem(item)
|
||||
item = QtWidgets.QListWidgetItem()
|
||||
self.listWidget.addItem(item)
|
||||
item = QtWidgets.QListWidgetItem()
|
||||
self.listWidget.addItem(item)
|
||||
item = QtWidgets.QListWidgetItem()
|
||||
self.listWidget.addItem(item)
|
||||
item = QtWidgets.QListWidgetItem()
|
||||
self.listWidget.addItem(item)
|
||||
item = QtWidgets.QListWidgetItem()
|
||||
self.listWidget.addItem(item)
|
||||
self.gridLayout_5.addWidget(self.listWidget, 0, 0, 1, 1)
|
||||
self.toolBox.addItem(self.page_2, "")
|
||||
self.verticalLayout_3.addWidget(self.toolBox)
|
||||
self.gridLayout.addWidget(self.groupBox, 1, 0, 1, 1)
|
||||
self.tabWidget_2 = QtWidgets.QTabWidget(self.tab)
|
||||
self.tabWidget_2.setObjectName("tabWidget_2")
|
||||
self.tab_3 = QtWidgets.QWidget()
|
||||
self.tab_3.setObjectName("tab_3")
|
||||
self.gridLayout_6 = QtWidgets.QGridLayout(self.tab_3)
|
||||
self.gridLayout_6.setObjectName("gridLayout_6")
|
||||
self.checkableButton = QtWidgets.QPushButton(self.tab_3)
|
||||
self.checkableButton.setCheckable(True)
|
||||
self.checkableButton.setChecked(True)
|
||||
self.checkableButton.setObjectName("checkableButton")
|
||||
self.gridLayout_6.addWidget(self.checkableButton, 1, 0, 1, 1)
|
||||
self.pushButton = QtWidgets.QPushButton(self.tab_3)
|
||||
self.pushButton.setObjectName("pushButton")
|
||||
self.gridLayout_6.addWidget(self.pushButton, 0, 0, 1, 1)
|
||||
self.pushButton_5 = QtWidgets.QPushButton(self.tab_3)
|
||||
self.pushButton_5.setObjectName("pushButton_5")
|
||||
self.gridLayout_6.addWidget(self.pushButton_5, 2, 0, 1, 1)
|
||||
self.tabWidget_2.addTab(self.tab_3, "")
|
||||
self.tab_5 = QtWidgets.QWidget()
|
||||
self.tab_5.setObjectName("tab_5")
|
||||
self.gridLayout_7 = QtWidgets.QGridLayout(self.tab_5)
|
||||
self.gridLayout_7.setObjectName("gridLayout_7")
|
||||
self.tableWidget = QtWidgets.QTableWidget(self.tab_5)
|
||||
self.tableWidget.setObjectName("tableWidget")
|
||||
self.tableWidget.setColumnCount(2)
|
||||
self.tableWidget.setRowCount(4)
|
||||
item = QtWidgets.QTableWidgetItem()
|
||||
self.tableWidget.setVerticalHeaderItem(0, item)
|
||||
item = QtWidgets.QTableWidgetItem()
|
||||
self.tableWidget.setVerticalHeaderItem(1, item)
|
||||
item = QtWidgets.QTableWidgetItem()
|
||||
self.tableWidget.setVerticalHeaderItem(2, item)
|
||||
item = QtWidgets.QTableWidgetItem()
|
||||
self.tableWidget.setVerticalHeaderItem(3, item)
|
||||
item = QtWidgets.QTableWidgetItem()
|
||||
self.tableWidget.setHorizontalHeaderItem(0, item)
|
||||
item = QtWidgets.QTableWidgetItem()
|
||||
self.tableWidget.setHorizontalHeaderItem(1, item)
|
||||
self.gridLayout_7.addWidget(self.tableWidget, 0, 0, 1, 1)
|
||||
self.tabWidget_2.addTab(self.tab_5, "")
|
||||
self.tab_4 = QtWidgets.QWidget()
|
||||
self.tab_4.setObjectName("tab_4")
|
||||
self.tabWidget_2.addTab(self.tab_4, "")
|
||||
self.gridLayout.addWidget(self.tabWidget_2, 0, 0, 1, 1)
|
||||
self.tabWidget.addTab(self.tab, "")
|
||||
self.tab_2 = QtWidgets.QWidget()
|
||||
self.tab_2.setObjectName("tab_2")
|
||||
self.gridLayout_2 = QtWidgets.QGridLayout(self.tab_2)
|
||||
self.gridLayout_2.setObjectName("gridLayout_2")
|
||||
self.groupBox_2 = QtWidgets.QGroupBox(self.tab_2)
|
||||
self.groupBox_2.setObjectName("groupBox_2")
|
||||
self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.groupBox_2)
|
||||
self.verticalLayout_4.setObjectName("verticalLayout_4")
|
||||
self.label = QtWidgets.QLabel(self.groupBox_2)
|
||||
self.label.setObjectName("label")
|
||||
self.verticalLayout_4.addWidget(self.label)
|
||||
self.radioButton = QtWidgets.QRadioButton(self.groupBox_2)
|
||||
self.radioButton.setObjectName("radioButton")
|
||||
self.verticalLayout_4.addWidget(self.radioButton)
|
||||
self.checkBox = QtWidgets.QCheckBox(self.groupBox_2)
|
||||
self.checkBox.setObjectName("checkBox")
|
||||
self.verticalLayout_4.addWidget(self.checkBox)
|
||||
self.checkBox_2 = QtWidgets.QCheckBox(self.groupBox_2)
|
||||
self.checkBox_2.setTristate(True)
|
||||
self.checkBox_2.setObjectName("checkBox_2")
|
||||
self.verticalLayout_4.addWidget(self.checkBox_2)
|
||||
self.treeWidget = QtWidgets.QTreeWidget(self.groupBox_2)
|
||||
self.treeWidget.setObjectName("treeWidget")
|
||||
item_0 = QtWidgets.QTreeWidgetItem(self.treeWidget)
|
||||
item_0 = QtWidgets.QTreeWidgetItem(self.treeWidget)
|
||||
self.verticalLayout_4.addWidget(self.treeWidget)
|
||||
self.gridLayout_2.addWidget(self.groupBox_2, 0, 0, 1, 1)
|
||||
self.tabWidget.addTab(self.tab_2, "")
|
||||
self.verticalLayout_5.addWidget(self.tabWidget)
|
||||
self.horizontalLayout = QtWidgets.QHBoxLayout()
|
||||
self.horizontalLayout.setObjectName("horizontalLayout")
|
||||
self.pushButton_2 = QtWidgets.QPushButton(self.centralwidget)
|
||||
self.pushButton_2.setObjectName("pushButton_2")
|
||||
self.horizontalLayout.addWidget(self.pushButton_2)
|
||||
self.bt_delay_popup = QtWidgets.QToolButton(self.centralwidget)
|
||||
self.bt_delay_popup.setObjectName("bt_delay_popup")
|
||||
self.horizontalLayout.addWidget(self.bt_delay_popup)
|
||||
self.bt_instant_popup = QtWidgets.QToolButton(self.centralwidget)
|
||||
self.bt_instant_popup.setPopupMode(QtWidgets.QToolButton.InstantPopup)
|
||||
self.bt_instant_popup.setObjectName("bt_instant_popup")
|
||||
self.horizontalLayout.addWidget(self.bt_instant_popup)
|
||||
self.bt_menu_button_popup = QtWidgets.QToolButton(self.centralwidget)
|
||||
self.bt_menu_button_popup.setPopupMode(QtWidgets.QToolButton.MenuButtonPopup)
|
||||
self.bt_menu_button_popup.setObjectName("bt_menu_button_popup")
|
||||
self.horizontalLayout.addWidget(self.bt_menu_button_popup)
|
||||
self.line_2 = QtWidgets.QFrame(self.centralwidget)
|
||||
self.line_2.setFrameShape(QtWidgets.QFrame.VLine)
|
||||
self.line_2.setFrameShadow(QtWidgets.QFrame.Sunken)
|
||||
self.line_2.setObjectName("line_2")
|
||||
self.horizontalLayout.addWidget(self.line_2)
|
||||
self.pushButton_3 = QtWidgets.QPushButton(self.centralwidget)
|
||||
self.pushButton_3.setEnabled(False)
|
||||
self.pushButton_3.setObjectName("pushButton_3")
|
||||
self.horizontalLayout.addWidget(self.pushButton_3)
|
||||
self.doubleSpinBox = QtWidgets.QDoubleSpinBox(self.centralwidget)
|
||||
self.doubleSpinBox.setObjectName("doubleSpinBox")
|
||||
self.horizontalLayout.addWidget(self.doubleSpinBox)
|
||||
self.toolButton = QtWidgets.QToolButton(self.centralwidget)
|
||||
self.toolButton.setPopupMode(QtWidgets.QToolButton.InstantPopup)
|
||||
self.toolButton.setObjectName("toolButton")
|
||||
self.horizontalLayout.addWidget(self.toolButton)
|
||||
self.verticalLayout_5.addLayout(self.horizontalLayout)
|
||||
MainWindow.setCentralWidget(self.centralwidget)
|
||||
self.menubar = QtWidgets.QMenuBar(MainWindow)
|
||||
self.menubar.setGeometry(QtCore.QRect(0, 0, 1068, 29))
|
||||
self.menubar.setObjectName("menubar")
|
||||
self.menuMenu = QtWidgets.QMenu(self.menubar)
|
||||
self.menuMenu.setObjectName("menuMenu")
|
||||
self.menuSubmenu_2 = QtWidgets.QMenu(self.menuMenu)
|
||||
self.menuSubmenu_2.setObjectName("menuSubmenu_2")
|
||||
MainWindow.setMenuBar(self.menubar)
|
||||
self.statusbar = QtWidgets.QStatusBar(MainWindow)
|
||||
self.statusbar.setObjectName("statusbar")
|
||||
MainWindow.setStatusBar(self.statusbar)
|
||||
self.dockWidget1 = QtWidgets.QDockWidget(MainWindow)
|
||||
self.dockWidget1.setObjectName("dockWidget1")
|
||||
self.dockWidgetContents = QtWidgets.QWidget()
|
||||
self.dockWidgetContents.setObjectName("dockWidgetContents")
|
||||
self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.dockWidgetContents)
|
||||
self.verticalLayout_2.setObjectName("verticalLayout_2")
|
||||
self.verticalLayout = QtWidgets.QVBoxLayout()
|
||||
self.verticalLayout.setObjectName("verticalLayout")
|
||||
self.comboBox = QtWidgets.QComboBox(self.dockWidgetContents)
|
||||
self.comboBox.setObjectName("comboBox")
|
||||
self.comboBox.addItem("")
|
||||
self.comboBox.addItem("")
|
||||
self.verticalLayout.addWidget(self.comboBox)
|
||||
self.horizontalSlider = QtWidgets.QSlider(self.dockWidgetContents)
|
||||
self.horizontalSlider.setOrientation(QtCore.Qt.Horizontal)
|
||||
self.horizontalSlider.setObjectName("horizontalSlider")
|
||||
self.verticalLayout.addWidget(self.horizontalSlider)
|
||||
self.textEdit = QtWidgets.QTextEdit(self.dockWidgetContents)
|
||||
self.textEdit.setObjectName("textEdit")
|
||||
self.verticalLayout.addWidget(self.textEdit)
|
||||
self.line = QtWidgets.QFrame(self.dockWidgetContents)
|
||||
self.line.setFrameShape(QtWidgets.QFrame.HLine)
|
||||
self.line.setFrameShadow(QtWidgets.QFrame.Sunken)
|
||||
self.line.setObjectName("line")
|
||||
self.verticalLayout.addWidget(self.line)
|
||||
self.progressBar = QtWidgets.QProgressBar(self.dockWidgetContents)
|
||||
self.progressBar.setProperty("value", 24)
|
||||
self.progressBar.setObjectName("progressBar")
|
||||
self.verticalLayout.addWidget(self.progressBar)
|
||||
self.verticalLayout_2.addLayout(self.verticalLayout)
|
||||
self.frame = QtWidgets.QFrame(self.dockWidgetContents)
|
||||
self.frame.setMinimumSize(QtCore.QSize(0, 100))
|
||||
self.frame.setFrameShape(QtWidgets.QFrame.StyledPanel)
|
||||
self.frame.setFrameShadow(QtWidgets.QFrame.Raised)
|
||||
self.frame.setLineWidth(3)
|
||||
self.frame.setObjectName("frame")
|
||||
self.verticalLayout_2.addWidget(self.frame)
|
||||
self.dockWidget1.setWidget(self.dockWidgetContents)
|
||||
MainWindow.addDockWidget(QtCore.Qt.DockWidgetArea(1), self.dockWidget1)
|
||||
self.toolBar = QtWidgets.QToolBar(MainWindow)
|
||||
self.toolBar.setObjectName("toolBar")
|
||||
MainWindow.addToolBar(QtCore.Qt.TopToolBarArea, self.toolBar)
|
||||
self.dockWidget2 = QtWidgets.QDockWidget(MainWindow)
|
||||
self.dockWidget2.setObjectName("dockWidget2")
|
||||
self.dockWidgetContents_2 = QtWidgets.QWidget()
|
||||
self.dockWidgetContents_2.setObjectName("dockWidgetContents_2")
|
||||
self.gridLayout_3 = QtWidgets.QGridLayout(self.dockWidgetContents_2)
|
||||
self.gridLayout_3.setObjectName("gridLayout_3")
|
||||
self.verticalSlider = QtWidgets.QSlider(self.dockWidgetContents_2)
|
||||
self.verticalSlider.setOrientation(QtCore.Qt.Vertical)
|
||||
self.verticalSlider.setObjectName("verticalSlider")
|
||||
self.gridLayout_3.addWidget(self.verticalSlider, 0, 0, 1, 1)
|
||||
self.dockWidget2.setWidget(self.dockWidgetContents_2)
|
||||
MainWindow.addDockWidget(QtCore.Qt.DockWidgetArea(1), self.dockWidget2)
|
||||
self.actionAction = QtWidgets.QAction(MainWindow)
|
||||
self.actionAction.setObjectName("actionAction")
|
||||
self.actionSub_menu = QtWidgets.QAction(MainWindow)
|
||||
self.actionSub_menu.setObjectName("actionSub_menu")
|
||||
self.actionAction_C = QtWidgets.QAction(MainWindow)
|
||||
self.actionAction_C.setObjectName("actionAction_C")
|
||||
self.menuSubmenu_2.addAction(self.actionSub_menu)
|
||||
self.menuSubmenu_2.addAction(self.actionAction_C)
|
||||
self.menuMenu.addAction(self.actionAction)
|
||||
self.menuMenu.addAction(self.menuSubmenu_2.menuAction())
|
||||
self.menubar.addAction(self.menuMenu.menuAction())
|
||||
self.toolBar.addAction(self.actionAction)
|
||||
self.toolBar.addAction(self.actionSub_menu)
|
||||
|
||||
self.retranslateUi(MainWindow)
|
||||
self.tabWidget.setCurrentIndex(0)
|
||||
self.toolBox.setCurrentIndex(1)
|
||||
self.tabWidget_2.setCurrentIndex(0)
|
||||
QtCore.QMetaObject.connectSlotsByName(MainWindow)
|
||||
MainWindow.setTabOrder(self.pushButton, self.checkableButton)
|
||||
MainWindow.setTabOrder(self.checkableButton, self.pushButton_5)
|
||||
MainWindow.setTabOrder(self.pushButton_5, self.tabWidget_2)
|
||||
MainWindow.setTabOrder(self.tabWidget_2, self.tableWidget)
|
||||
MainWindow.setTabOrder(self.tableWidget, self.radioButton)
|
||||
MainWindow.setTabOrder(self.radioButton, self.checkBox)
|
||||
MainWindow.setTabOrder(self.checkBox, self.checkBox_2)
|
||||
MainWindow.setTabOrder(self.checkBox_2, self.treeWidget)
|
||||
MainWindow.setTabOrder(self.treeWidget, self.pushButton_2)
|
||||
MainWindow.setTabOrder(self.pushButton_2, self.bt_delay_popup)
|
||||
MainWindow.setTabOrder(self.bt_delay_popup, self.bt_instant_popup)
|
||||
MainWindow.setTabOrder(self.bt_instant_popup, self.bt_menu_button_popup)
|
||||
MainWindow.setTabOrder(self.bt_menu_button_popup, self.pushButton_3)
|
||||
MainWindow.setTabOrder(self.pushButton_3, self.doubleSpinBox)
|
||||
MainWindow.setTabOrder(self.doubleSpinBox, self.toolButton)
|
||||
MainWindow.setTabOrder(self.toolButton, self.comboBox)
|
||||
MainWindow.setTabOrder(self.comboBox, self.horizontalSlider)
|
||||
MainWindow.setTabOrder(self.horizontalSlider, self.textEdit)
|
||||
MainWindow.setTabOrder(self.textEdit, self.verticalSlider)
|
||||
MainWindow.setTabOrder(self.verticalSlider, self.tabWidget)
|
||||
MainWindow.setTabOrder(self.tabWidget, self.lineEdit)
|
||||
MainWindow.setTabOrder(self.lineEdit, self.listWidget)
|
||||
|
||||
def retranslateUi(self, MainWindow):
|
||||
_translate = QtCore.QCoreApplication.translate
|
||||
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
|
||||
self.groupBox.setTitle(_translate("MainWindow", "ToolBox"))
|
||||
self.toolBox.setItemText(self.toolBox.indexOf(self.page), _translate("MainWindow", "Page 1"))
|
||||
__sortingEnabled = self.listWidget.isSortingEnabled()
|
||||
self.listWidget.setSortingEnabled(False)
|
||||
item = self.listWidget.item(0)
|
||||
item.setText(_translate("MainWindow", "New Item"))
|
||||
item = self.listWidget.item(1)
|
||||
item.setText(_translate("MainWindow", "New Item"))
|
||||
item = self.listWidget.item(2)
|
||||
item.setText(_translate("MainWindow", "New Item"))
|
||||
item = self.listWidget.item(3)
|
||||
item.setText(_translate("MainWindow", "New Item"))
|
||||
item = self.listWidget.item(4)
|
||||
item.setText(_translate("MainWindow", "New Item"))
|
||||
item = self.listWidget.item(5)
|
||||
item.setText(_translate("MainWindow", "New Item"))
|
||||
item = self.listWidget.item(6)
|
||||
item.setText(_translate("MainWindow", "New Item"))
|
||||
item = self.listWidget.item(7)
|
||||
item.setText(_translate("MainWindow", "New Item"))
|
||||
self.listWidget.setSortingEnabled(__sortingEnabled)
|
||||
self.toolBox.setItemText(self.toolBox.indexOf(self.page_2), _translate("MainWindow", "Page 2"))
|
||||
self.checkableButton.setText(_translate("MainWindow", "Checkable button"))
|
||||
self.pushButton.setText(_translate("MainWindow", "PushButton"))
|
||||
self.pushButton_5.setText(_translate("MainWindow", "PushButton"))
|
||||
self.tabWidget_2.setTabText(self.tabWidget_2.indexOf(self.tab_3), _translate("MainWindow", "Tab 1"))
|
||||
item = self.tableWidget.verticalHeaderItem(0)
|
||||
item.setText(_translate("MainWindow", "New Row"))
|
||||
item = self.tableWidget.verticalHeaderItem(1)
|
||||
item.setText(_translate("MainWindow", "New Row"))
|
||||
item = self.tableWidget.verticalHeaderItem(2)
|
||||
item.setText(_translate("MainWindow", "New Row"))
|
||||
item = self.tableWidget.verticalHeaderItem(3)
|
||||
item.setText(_translate("MainWindow", "New Row"))
|
||||
item = self.tableWidget.horizontalHeaderItem(0)
|
||||
item.setText(_translate("MainWindow", "New Column"))
|
||||
item = self.tableWidget.horizontalHeaderItem(1)
|
||||
item.setText(_translate("MainWindow", "New Column 2"))
|
||||
self.tabWidget_2.setTabText(self.tabWidget_2.indexOf(self.tab_5), _translate("MainWindow", "Page"))
|
||||
self.tabWidget_2.setTabText(self.tabWidget_2.indexOf(self.tab_4), _translate("MainWindow", "Tab 2"))
|
||||
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _translate("MainWindow", "Tab 1"))
|
||||
self.groupBox_2.setTitle(_translate("MainWindow", "GroupBox"))
|
||||
self.label.setText(_translate("MainWindow", "TextLabel"))
|
||||
self.radioButton.setText(_translate("MainWindow", "RadioB&utton"))
|
||||
self.checkBox.setText(_translate("MainWindow", "CheckBox"))
|
||||
self.checkBox_2.setText(_translate("MainWindow", "CheckBox Tristate"))
|
||||
self.treeWidget.headerItem().setText(0, _translate("MainWindow", "qdz"))
|
||||
__sortingEnabled = self.treeWidget.isSortingEnabled()
|
||||
self.treeWidget.setSortingEnabled(False)
|
||||
self.treeWidget.topLevelItem(0).setText(0, _translate("MainWindow", "qzd"))
|
||||
self.treeWidget.topLevelItem(1).setText(0, _translate("MainWindow", "effefe"))
|
||||
self.treeWidget.setSortingEnabled(__sortingEnabled)
|
||||
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), _translate("MainWindow", "Tab 2"))
|
||||
self.pushButton_2.setText(_translate("MainWindow", "PushButton"))
|
||||
self.bt_delay_popup.setText(_translate("MainWindow", "Delayed popup "))
|
||||
self.bt_instant_popup.setText(_translate("MainWindow", "Instant popup"))
|
||||
self.bt_menu_button_popup.setText(_translate("MainWindow", "MenuButtonPopup"))
|
||||
self.pushButton_3.setText(_translate("MainWindow", "Disabled"))
|
||||
self.toolButton.setText(_translate("MainWindow", "..."))
|
||||
self.menuMenu.setTitle(_translate("MainWindow", "&Menu"))
|
||||
self.menuSubmenu_2.setTitle(_translate("MainWindow", "&Submenu 2"))
|
||||
self.dockWidget1.setWindowTitle(_translate("MainWindow", "&Dock widget 1"))
|
||||
self.comboBox.setItemText(0, _translate("MainWindow", "Item 0"))
|
||||
self.comboBox.setItemText(1, _translate("MainWindow", "Item 2"))
|
||||
self.toolBar.setWindowTitle(_translate("MainWindow", "toolBar"))
|
||||
self.dockWidget2.setWindowTitle(_translate("MainWindow", "Dock widget &2"))
|
||||
self.actionAction.setText(_translate("MainWindow", "&Action"))
|
||||
self.actionSub_menu.setText(_translate("MainWindow", "&Action B"))
|
||||
self.actionSub_menu.setToolTip(_translate("MainWindow", "submenu"))
|
||||
self.actionAction_C.setText(_translate("MainWindow", "Action &C"))
|
||||
|
|
@ -0,0 +1,95 @@
|
|||
#!/usr/bin/env python
|
||||
#
|
||||
# The MIT License (MIT)
|
||||
#
|
||||
# Copyright (c) <2013-2014> <Colin Duquesnoy>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
# in the Software without restriction, including without limitation the rights
|
||||
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
# copies of the Software, and to permit persons to whom the Software is
|
||||
# furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included in
|
||||
# all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
# THE SOFTWARE.
|
||||
#
|
||||
"""
|
||||
A simple example of use.
|
||||
|
||||
Load an ui made in QtDesigner and apply the DarkStyleSheet.
|
||||
|
||||
|
||||
Requirements:
|
||||
- Python 2 or Python 3
|
||||
- PyQt4
|
||||
|
||||
.. note.. :: qdarkstyle does not have to be installed to run
|
||||
the example
|
||||
|
||||
"""
|
||||
import logging
|
||||
import sys
|
||||
from PyQt5 import QtWidgets, QtCore
|
||||
from PyQt5.QtCore import QFile, QTextStream
|
||||
# make the example runnable without the need to install
|
||||
|
||||
import breeze
|
||||
import example
|
||||
|
||||
|
||||
def main():
|
||||
"""
|
||||
Application entry point
|
||||
"""
|
||||
logging.basicConfig(level=logging.DEBUG)
|
||||
# create the application and the main window
|
||||
app = QtWidgets.QApplication(sys.argv)
|
||||
app.setStyle(QtWidgets.QStyleFactory.create("fusion"))
|
||||
window = QtWidgets.QMainWindow()
|
||||
|
||||
# setup ui
|
||||
ui = example.Ui_MainWindow()
|
||||
ui.setupUi(window)
|
||||
ui.bt_delay_popup.addActions([
|
||||
ui.actionAction,
|
||||
ui.actionAction_C
|
||||
])
|
||||
ui.bt_instant_popup.addActions([
|
||||
ui.actionAction,
|
||||
ui.actionAction_C
|
||||
])
|
||||
ui.bt_menu_button_popup.addActions([
|
||||
ui.actionAction,
|
||||
ui.actionAction_C
|
||||
])
|
||||
window.setWindowTitle("Breeze example")
|
||||
|
||||
# tabify dock widgets to show bug #6
|
||||
window.tabifyDockWidget(ui.dockWidget1, ui.dockWidget2)
|
||||
|
||||
# setup stylesheet
|
||||
file = QFile(":/light.qss")
|
||||
file.open(QFile.ReadOnly | QFile.Text)
|
||||
stream = QTextStream(file)
|
||||
app.setStyleSheet(stream.readAll())
|
||||
|
||||
# auto quit after 2s when testing on travis-ci
|
||||
if "--travis" in sys.argv:
|
||||
QtCore.QTimer.singleShot(2000, app.exit)
|
||||
|
||||
# run
|
||||
window.show()
|
||||
app.exec_()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
20
light.qss
|
@ -95,7 +95,7 @@ QGroupBox::indicator
|
|||
QCheckBox::indicator:unchecked,
|
||||
QCheckBox::indicator:unchecked:focus
|
||||
{
|
||||
image: url(:/light/checkbox_unchecked_disabled.svg);
|
||||
border-image: url(:/light/checkbox_unchecked_disabled.svg);
|
||||
}
|
||||
|
||||
QCheckBox::indicator:unchecked:hover,
|
||||
|
@ -105,12 +105,12 @@ QGroupBox::indicator:unchecked:focus,
|
|||
QGroupBox::indicator:unchecked:pressed
|
||||
{
|
||||
border: none;
|
||||
image: url(:/light/checkbox_unchecked-hover.svg);
|
||||
border-image: url(:/light/checkbox_unchecked-hover.svg);
|
||||
}
|
||||
|
||||
QCheckBox::indicator:checked
|
||||
{
|
||||
image: url(:/light/checkbox_checked.svg);
|
||||
border-image: url(:/light/checkbox_checked.svg);
|
||||
}
|
||||
|
||||
QCheckBox::indicator:checked:focus,
|
||||
|
@ -119,23 +119,23 @@ QGroupBox::indicator:checked:focus,
|
|||
QGroupBox::indicator:checked:pressed
|
||||
{
|
||||
border: none;
|
||||
image: url(:/light/checkbox_checked.svg);
|
||||
border-image: url(:/light/checkbox_checked.svg);
|
||||
}
|
||||
|
||||
QCheckBox::indicator:checked:hover,
|
||||
QGroupBox::indicator:checked:hover
|
||||
{
|
||||
image: url(:/light/checkbox_checked-hover.svg);
|
||||
border-image: url(:/light/checkbox_checked-hover.svg);
|
||||
}
|
||||
|
||||
QCheckBox::indicator:indeterminate
|
||||
{
|
||||
image: url(:/light/checkbox_indeterminate.svg);
|
||||
border-image: url(:/light/checkbox_indeterminate.svg);
|
||||
}
|
||||
|
||||
QCheckBox::indicator:indeterminate:hover
|
||||
{
|
||||
image: url(:/light/checkbox_indeterminate-hover.svg);
|
||||
border-image: url(:/light/checkbox_indeterminate-hover.svg);
|
||||
}
|
||||
|
||||
QCheckBox::indicator:indeterminate:focus,
|
||||
|
@ -145,19 +145,19 @@ QCheckBox::indicator:indeterminate:pressed
|
|||
|
||||
QCheckBox::indicator:indeterminate:disabled
|
||||
{
|
||||
image: url(:/light/checkbox_indeterminate_disabled.svg);
|
||||
border-image: url(:/light/checkbox_indeterminate_disabled.svg);
|
||||
}
|
||||
|
||||
QCheckBox::indicator:checked:disabled,
|
||||
QGroupBox::indicator:checked:disabled
|
||||
{
|
||||
image: url(:/light/checkbox_checked_disabled.svg);
|
||||
border-image: url(:/light/checkbox_checked_disabled.svg);
|
||||
}
|
||||
|
||||
QCheckBox::indicator:unchecked:disabled,
|
||||
QGroupBox::indicator:unchecked:disabled
|
||||
{
|
||||
image: url(:/light/checkbox_unchecked_disabled.svg);
|
||||
border-image: url(:/light/checkbox_unchecked_disabled.svg);
|
||||
}
|
||||
|
||||
QRadioButton
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
<svg x="0pt" y="0pt" width="1000pt" height="1000pt" viewBox="0 0 1000 1000" enable-background="new 0 0 1000 1000" xml:space="preserve">
|
||||
<path d="M100,100 h800 v800 h-800 v-800 z" fill="none" stroke="#51c2fc" stroke-width="50" />
|
||||
<path d="M300,300 h400 v400 h-400 v-400 z" fill="#51c2fc" stroke="#51c2fc" stroke-width="100" />
|
||||
<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: 337 B After Width: | Height: | Size: 330 B |
|
@ -1,4 +1,5 @@
|
|||
<svg x="0pt" y="0pt" width="1000pt" height="1000pt" viewBox="0 0 1000 1000" enable-background="new 0 0 1000 1000" xml:space="preserve">
|
||||
<path d="M100,100 h800 v800 h-800 v-800 z" fill="none" stroke="#3daee9" stroke-width="50" />
|
||||
<path d="M300,300 h400 v400 h-400 v-400 z" fill="#3daee9" stroke="#3daee9" stroke-width="100" />
|
||||
<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="#3daee9"/>
|
||||
<path d="M16,16 h-14 v-14 h0.9 v13.1 h13.1 z" fill="#3daee9"/>
|
||||
<path d="M5,5 h8 v8 h-8 v-8 z" fill="#3daee9" fill-rule="evenodd"/>
|
||||
</svg>
|
||||
|
|
Before Width: | Height: | Size: 337 B After Width: | Height: | Size: 330 B |
|
@ -1,4 +1,5 @@
|
|||
<svg x="0pt" y="0pt" width="1000pt" height="1000pt" viewBox="0 0 1000 1000" enable-background="new 0 0 1000 1000" xml:space="preserve">
|
||||
<path d="M100,100 h800 v800 h-800 v-800 z" fill="none" stroke="#31363B" stroke-width="50" />
|
||||
<path d="M300,300 h400 v400 h-400 v-400 z" fill="#31363B" stroke="#31363B" stroke-width="100" />
|
||||
<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="#31363B"/>
|
||||
<path d="M16,16 h-14 v-14 h0.9 v13.1 h13.1 z" fill="#31363B"/>
|
||||
<path d="M5,5 h8 v8 h-8 v-8 z" fill="#31363B" fill-rule="evenodd"/>
|
||||
</svg>
|
||||
|
|
Before Width: | Height: | Size: 337 B After Width: | Height: | Size: 330 B |
|
@ -1,5 +1,7 @@
|
|||
<svg x="0pt" y="0pt" width="1000pt" height="1000pt" viewBox="0 0 1000 1000" enable-background="new 0 0 1000 1000" xml:space="preserve">
|
||||
<path d="M100,100 h800 v800 h-800 v-800 z" fill="none" stroke="#51c2fc" stroke-width="50" />
|
||||
<path d="M300,300 h400 v400 h-400 v-400 z" fill="none" stroke="#51c2fc" stroke-width="100" />
|
||||
<path d="M750,250 L 250,750 v-500 h500 z" fill="#51c2fc" />
|
||||
<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: 397 B After Width: | Height: | Size: 492 B |
|
@ -1,5 +1,7 @@
|
|||
<svg x="0pt" y="0pt" width="1000pt" height="1000pt" viewBox="0 0 1000 1000" enable-background="new 0 0 1000 1000" xml:space="preserve">
|
||||
<path d="M100,100 h800 v800 h-800 v-800 z" fill="none" stroke="#3daee9" stroke-width="50" />
|
||||
<path d="M300,300 h400 v400 h-400 v-400 z" fill="none" stroke="#3daee9" stroke-width="100" />
|
||||
<path d="M750,250 L 250,750 v-500 h500 z" fill="#3daee9" />
|
||||
<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="#3daee9"/>
|
||||
<path d="M16,16 h-14 v-14 h0.9 v13.1 h13.1 z" fill="#3daee9"/>
|
||||
<path d="M5,5 h8 v8 h-0.9 v-7.1 h-7.1 z" fill="#3daee9" fill-rule="evenodd"/>
|
||||
<path d="M13,13 h-8 v-8 h0.9 v7.1 h7.1 z" fill="#3daee9" fill-rule="evenodd"/>
|
||||
<path d="M13,5 L 5,13 v-8 h8 z" fill="#3daee9" fill-rule="evenodd"/>
|
||||
</svg>
|
||||
|
|
Before Width: | Height: | Size: 397 B After Width: | Height: | Size: 492 B |
|
@ -1,5 +1,7 @@
|
|||
<svg x="0pt" y="0pt" width="1000pt" height="1000pt" viewBox="0 0 1000 1000" enable-background="new 0 0 1000 1000" xml:space="preserve">
|
||||
<path d="M100,100 h800 v800 h-800 v-800 z" fill="none" stroke="#31363B" stroke-width="50" />
|
||||
<path d="M300,300 h400 v400 h-400 v-400 z" fill="none" stroke="#31363B" stroke-width="100" />
|
||||
<path d="M750,250 L 250,750 v-500 h500 z" fill="#31363B" />
|
||||
<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="#31363B"/>
|
||||
<path d="M16,16 h-14 v-14 h0.9 v13.1 h13.1 z" fill="#31363B"/>
|
||||
<path d="M5,5 h8 v8 h-0.9 v-7.1 h-7.1 z" fill="#31363B" fill-rule="evenodd"/>
|
||||
<path d="M13,13 h-8 v-8 h0.9 v7.1 h7.1 z" fill="#31363B" fill-rule="evenodd"/>
|
||||
<path d="M13,5 L 5,13 v-8 h8 z" fill="#31363B" fill-rule="evenodd"/>
|
||||
</svg>
|
||||
|
|
Before Width: | Height: | Size: 397 B After Width: | Height: | Size: 492 B |
|
@ -1,3 +1,4 @@
|
|||
<svg x="0pt" y="0pt" width="1000pt" height="1000pt" viewBox="0 0 1000 1000" enable-background="new 0 0 1000 1000" xml:space="preserve">
|
||||
<path d="M100,100 h800 v800 h-800 v-800 z" fill="none" stroke="#51c2fc" stroke-width="50" />
|
||||
<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: 238 B After Width: | Height: | Size: 260 B |
|
@ -1,3 +1,4 @@
|
|||
<svg x="0pt" y="0pt" width="1000pt" height="1000pt" viewBox="0 0 1000 1000" enable-background="new 0 0 1000 1000" xml:space="preserve">
|
||||
<path d="M100,100 h800 v800 h-800 v-800 z" fill="none" stroke="#31363B" stroke-width="50" />
|
||||
<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="#31363B"/>
|
||||
<path d="M16,16 h-14 v-14 h0.9 v13.1 h13.1 z" fill="#31363B"/>
|
||||
</svg>
|
||||
|
|
Before Width: | Height: | Size: 238 B After Width: | Height: | Size: 260 B |
|
@ -0,0 +1,87 @@
|
|||
#!/usr/bin/env python
|
||||
#
|
||||
# The MIT License (MIT)
|
||||
#
|
||||
# Copyright (c) <2013-2014> <Colin Duquesnoy>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
# in the Software without restriction, including without limitation the rights
|
||||
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
# copies of the Software, and to permit persons to whom the Software is
|
||||
# furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included in
|
||||
# all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
# THE SOFTWARE.
|
||||
#
|
||||
"""
|
||||
A simple example of use.
|
||||
|
||||
Load an ui made in QtDesigner and apply the DarkStyleSheet.
|
||||
|
||||
|
||||
Requirements:
|
||||
- Python 2 or Python 3
|
||||
- PyQt4
|
||||
|
||||
.. note.. :: qdarkstyle does not have to be installed to run
|
||||
the example
|
||||
|
||||
"""
|
||||
import logging
|
||||
import sys
|
||||
from PyQt5 import QtWidgets, QtCore
|
||||
# make the example runnable without the need to install
|
||||
|
||||
import example
|
||||
|
||||
|
||||
def main():
|
||||
"""
|
||||
Application entry point
|
||||
"""
|
||||
logging.basicConfig(level=logging.DEBUG)
|
||||
# create the application and the main window
|
||||
app = QtWidgets.QApplication(sys.argv)
|
||||
app.setStyle(QtWidgets.QStyleFactory.create("fusion"))
|
||||
window = QtWidgets.QMainWindow()
|
||||
|
||||
# setup ui
|
||||
ui = example.Ui_MainWindow()
|
||||
ui.setupUi(window)
|
||||
ui.bt_delay_popup.addActions([
|
||||
ui.actionAction,
|
||||
ui.actionAction_C
|
||||
])
|
||||
ui.bt_instant_popup.addActions([
|
||||
ui.actionAction,
|
||||
ui.actionAction_C
|
||||
])
|
||||
ui.bt_menu_button_popup.addActions([
|
||||
ui.actionAction,
|
||||
ui.actionAction_C
|
||||
])
|
||||
window.setWindowTitle("Native example")
|
||||
|
||||
# tabify dock widgets to show bug #6
|
||||
window.tabifyDockWidget(ui.dockWidget1, ui.dockWidget2)
|
||||
|
||||
# auto quit after 2s when testing on travis-ci
|
||||
if "--travis" in sys.argv:
|
||||
QtCore.QTimer.singleShot(2000, app.exit)
|
||||
|
||||
# run
|
||||
window.show()
|
||||
app.exec_()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|