コード例 #1
0
    def __init__(self):
        super().__init__()
        # Objects
        self.overallLayout = QVBoxLayout(self)
        self.contentLayout = QHBoxLayout()
        self.dropShadow = QGraphicsDropShadowEffect(self)
        self.boxManager = BoxManager.BoxManager()
        self.topBar = TopBar.TopBar()
        self.selectorArea = QFrame()
        self.selectorLayout = QVBoxLayout(self.selectorArea)
        self.folderArea = QFrame()
        self.folderLayout = QHBoxLayout(self.folderArea)
        self.folderList = FolderList.FolderList()
        self.folderBar = ScrollBar.ScrollBar(self.folderList)
        self.canvas = Canvas.Canvas(self.boxManager)
        self.imageArea = QFrame()
        self.imageList = ImageList.ImageList()
        self.imageLayout = QHBoxLayout(self.imageArea)
        self.imageBar = ScrollBar.ScrollBar(self.imageList)

        # Styling
        self.setStyleSheet('Central { background: transparent; }')
        self.overallLayout.setMargin(20)
        self.overallLayout.setSpacing(0)
        self.dropShadow.setOffset(QPointF(0,4))
        self.dropShadow.setColor(QColor(0,0,0,100))
        self.dropShadow.setBlurRadius(10)
        self.setGraphicsEffect(self.dropShadow)
        self.contentLayout.setAlignment(Qt.AlignCenter)
        self.contentLayout.setMargin(0)        
        self.contentLayout.setSpacing(0)
        self.selectorLayout.setMargin(0)
        self.selectorLayout.setSpacing(0)
        self.folderLayout.setMargin(0)
        self.folderLayout.setSpacing(0)
        self.imageLayout.setMargin(0)
        self.imageLayout.setSpacing(0)
        self.folderList.setVerticalScrollBar(self.folderBar)
        self.imageList.setVerticalScrollBar(self.imageBar)
        self.selectorArea.setMaximumWidth(400)
        self.selectorArea.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)

        # Layout
        self.folderLayout.addWidget(self.folderList)
        self.folderLayout.addSpacerItem(QSpacerItem(-7, 0))
        self.folderLayout.addWidget(self.folderBar)
        self.imageLayout.addWidget(self.imageList)
        self.imageLayout.addSpacerItem(QSpacerItem(-7, 0))
        self.imageLayout.addWidget(self.imageBar)
        self.selectorLayout.addWidget(self.folderArea, 15)
        self.selectorLayout.addWidget(self.imageArea, 85)
        self.contentLayout.addWidget(self.selectorArea, 30)
        self.contentLayout.addWidget(self.canvas, 70)
        self.overallLayout.addLayout(self.contentLayout)
        self.overallLayout.insertWidget(0, self.topBar)

        # Connections
        self.folderList.selectedFolderChanged.connect(self.handleSelectedFolderChanged)
        self.imageList.selectedImageChanged.connect(self.handleSelectedImageChanged)
コード例 #2
0
    def __init__(self, parent):
        super(GeneralPage, self).__init__()
        self.parent = parent
        self.grid = QVBoxLayout()

        self.listeMoteur = ["Google", "Duckduckgo", "Ecosia", "Yahoo", "Bing"]
        moteuracc = self.parent.parent.db.executewithreturn("""SELECT moteur FROM parameters""")[0][0]
        for i in range(len(self.listeMoteur)):
            if self.listeMoteur[i] == moteuracc:
                self.listeMoteur[i], self.listeMoteur[0] = self.listeMoteur[0], self.listeMoteur[i]
        jsacc = self.parent.parent.db.executewithreturn("""SELECT js FROM parameters""")[0][0]
        if jsacc == "Activé":
            self.listejs = ["Activé", "Désactivé"]
        else:
            self.listejs = ["Désactivé", "Activé"]
        privateacc = self.parent.parent.db.executewithreturn("""SELECT private FROM parameters""")[0][0]
        if privateacc == "Activé":
            self.listeprivate = ["Activé", "Désactivé"]
        else:
            self.listeprivate = ["Désactivé", "Activé"]

        self.lAccueil = QLabel("Page d'accueil")
        self.lAccueil.setAlignment(Qt.AlignHCenter)
        self.urlAccueil = QLineEdit(
            self.parent.parent.db.executewithreturn("""SELECT home FROM parameters""")[0][0])
        self.urlAccueil.setAlignment(Qt.AlignHCenter)
        self.lMoteur = QLabel("Moteur de recherche")
        self.lMoteur.setAlignment(Qt.AlignHCenter)
        self.moteurBox = QComboBox()
        self.moteurBox.addItems(self.listeMoteur)
        self.lJS = QLabel("Javascript")
        self.lJS.setAlignment(Qt.AlignHCenter)
        self.jsbox = QComboBox()
        self.jsbox.addItems(self.listejs)
        self.lPrivate = QLabel("Navigation Privée")
        self.lPrivate.setAlignment(Qt.AlignHCenter)
        self.privatebox = QComboBox()
        self.privatebox.addItems(self.listeprivate)

        self.endSpacerItem = QSpacerItem(20, 600)
        self.paramSpacerItem = QSpacerItem(20, 25)
        self.bValid = PushButton("Valider")

        self.bValid.clicked.connect(self.valider)

        self.grid.addWidget(self.lAccueil)
        self.grid.addWidget(self.urlAccueil)
        self.grid.addItem(self.paramSpacerItem)
        self.grid.addWidget(self.lMoteur)
        self.grid.addWidget(self.moteurBox)
        self.grid.addItem(self.paramSpacerItem)
        self.grid.addWidget(self.lJS)
        self.grid.addWidget(self.jsbox)
        self.grid.addItem(self.paramSpacerItem)
        self.grid.addWidget(self.lPrivate)
        self.grid.addWidget(self.privatebox)
        self.grid.addItem(self.endSpacerItem)
        self.grid.addWidget(self.bValid)
        self.setLayout(self.grid)
コード例 #3
0
    def add_purchase_row(
        self,
        unit_type: UnitType,
        layout: QGridLayout,
        row: int,
    ) -> None:
        exist = QGroupBox()
        exist.setProperty("style", "buy-box")
        exist.setMaximumHeight(36)
        exist.setMinimumHeight(36)
        existLayout = QHBoxLayout()
        exist.setLayout(existLayout)

        existing_units = self.cp.base.total_units_of_type(unit_type)

        unitName = QLabel(f"<b>{unit_type.name}</b>")
        unitName.setSizePolicy(
            QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding))

        existing_units = QLabel(str(existing_units))
        existing_units.setSizePolicy(
            QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed))

        self.existing_units_labels[unit_type] = existing_units

        price = QLabel(f"<b>$ {unit_type.price}</b> M")
        price.setSizePolicy(QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed))

        purchase_group = PurchaseGroup(unit_type, self)
        self.purchase_groups[unit_type] = purchase_group

        info = QGroupBox()
        info.setProperty("style", "buy-box")
        info.setMaximumHeight(36)
        info.setMinimumHeight(36)
        infolayout = QHBoxLayout()
        info.setLayout(infolayout)

        unitInfo = QPushButton("i")
        unitInfo.setProperty("style", "btn-info")
        unitInfo.setMinimumSize(16, 16)
        unitInfo.setMaximumSize(16, 16)
        unitInfo.clicked.connect(lambda: self.info(unit_type))
        unitInfo.setSizePolicy(
            QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed))

        existLayout.addWidget(unitName)
        existLayout.addItem(
            QSpacerItem(20, 0, QSizePolicy.Minimum, QSizePolicy.Minimum))
        existLayout.addWidget(existing_units)
        existLayout.addItem(
            QSpacerItem(20, 0, QSizePolicy.Minimum, QSizePolicy.Minimum))
        existLayout.addWidget(price)

        infolayout.addWidget(unitInfo)

        layout.addWidget(exist, row, 1)
        layout.addWidget(purchase_group, row, 2)
        layout.addWidget(info, row, 3)
コード例 #4
0
    def add_unit_row(
        self,
        unit_type: GroundUnitType,
        layout: QGridLayout,
        row: int,
    ) -> None:
        exist = QGroupBox()
        exist.setProperty("style", "buy-box")
        exist.setMaximumHeight(36)
        exist.setMinimumHeight(36)
        origin_inventory_layout = QHBoxLayout()
        exist.setLayout(origin_inventory_layout)

        origin_inventory = self.cp.base.total_units_of_type(unit_type)

        unit_name = QLabel(f"<b>{unit_type.name}</b>")
        unit_name.setSizePolicy(
            QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding))

        origin_inventory_label = QLabel(str(origin_inventory))
        origin_inventory_label.setSizePolicy(
            QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed))

        def increase(controls: TransferControls):
            nonlocal origin_inventory
            nonlocal origin_inventory_label
            if not origin_inventory:
                return

            self.transfers[unit_type] += 1
            origin_inventory -= 1
            controls.set_quantity(self.transfers[unit_type])
            origin_inventory_label.setText(str(origin_inventory))
            self.transfer_quantity_changed.emit()

        def decrease(controls: TransferControls):
            nonlocal origin_inventory
            nonlocal origin_inventory_label
            if not controls.quantity:
                return

            self.transfers[unit_type] -= 1
            origin_inventory += 1
            controls.set_quantity(self.transfers[unit_type])
            origin_inventory_label.setText(str(origin_inventory))
            self.transfer_quantity_changed.emit()

        transfer_controls = TransferControls("->", increase, "<-", decrease)

        origin_inventory_layout.addWidget(unit_name)
        origin_inventory_layout.addItem(
            QSpacerItem(20, 0, QSizePolicy.Minimum, QSizePolicy.Minimum))
        origin_inventory_layout.addWidget(origin_inventory_label)
        origin_inventory_layout.addItem(
            QSpacerItem(20, 0, QSizePolicy.Minimum, QSizePolicy.Minimum))

        layout.addWidget(exist, row, 1)
        layout.addWidget(transfer_controls, row, 2)
コード例 #5
0
ファイル: statswidget.py プロジェクト: viktorburka/pysweeper
    def __init__(self, controller):
        QFrame.__init__(self)

        self.controller = controller
        self.controller.flagsCountChanged.connect(self.update_flags_count)
        self.controller.gameReset.connect(self.reset_timer)

        self.timer_val = 0

        self.timer = QTimer()
        self.timer.timeout.connect(self.increment_timer)
        self.timer.start(1000)

        self.flags = QLabel("0")
        self.flags.setFixedWidth(50)
        self.flags.setAlignment(Qt.AlignRight | Qt.AlignVCenter)
        self.flags.setAutoFillBackground(True)

        flagsFont = self.flags.font()
        flagsFont.setPixelSize(28)
        self.flags.setFont(flagsFont)

        flagsPalette = self.flags.palette()
        flagsPalette.setColor(QPalette.Foreground, Qt.red)
        flagsPalette.setColor(QPalette.Window, Qt.black)
        self.flags.setPalette(flagsPalette)

        self.reset = QPushButton()
        self.reset.setFixedSize(45, 45)
        self.reset.clicked.connect(self.restart_game)

        self.seconds = QLabel("0")
        self.seconds.setFixedWidth(50)
        self.seconds.setAlignment(Qt.AlignRight | Qt.AlignVCenter)
        self.seconds.setAutoFillBackground(True)

        secondsFont = self.seconds.font()
        secondsFont.setPixelSize(28)
        self.seconds.setFont(secondsFont)

        secondsPalette = self.seconds.palette()
        secondsPalette.setColor(QPalette.Foreground, Qt.red)
        secondsPalette.setColor(QPalette.Window, Qt.black)
        self.seconds.setPalette(secondsPalette)

        self.layout = QHBoxLayout()
        self.layout.setContentsMargins(5, 0, 5, 0)
        self.layout.setSpacing(0)
        self.layout.addWidget(self.flags)
        self.layout.addSpacerItem(QSpacerItem(100, 10, QSizePolicy.Maximum))
        self.layout.addWidget(self.reset)
        self.layout.addSpacerItem(QSpacerItem(100, 10, QSizePolicy.Maximum))
        self.layout.addWidget(self.seconds)
        self.setLayout(self.layout)
コード例 #6
0
    def setup_ui(self):
        # border-image: url("") 0 0 0 0 stretch stretch; Is one way to paint the background with an image through the CSS
        self.setStyleSheet(f'''        
        #{self.accessibleName()}{{border-image: url("{self.image}") 0 0 0 0 stretch stretch;border-radius:5px}}
        QPushButton {{border:none;border-radius:2px;background:transparent}}
        QPushButton:hover{{background:rgba(102, 102, 102, 0.7)}}
        ''')
        self.setLayout(QVBoxLayout())
        self.layout().setMargin(0)

        self.widget = InnerWidget()
        self.widget.setObjectName('panel')
        self.widget.setAccessibleName('panel')
        self.widget.setLayout(QVBoxLayout())
        self.widget.layout().setMargin(10)
        self.widget.setStyleSheet(self.css)

        self.spacerH = QSpacerItem(10, 10, QSizePolicy.Expanding, QSizePolicy.Minimum)

        self.btnApply = QPushButton()
        self.btnApply.setText('')
        self.btnApply.setFixedSize(30, 30)
        self.btnApply.setIconSize(QSize(24, 24))
        self.btnApply.setIcon(self.share)
        self.btnApply.clicked.connect(self.select)

        self.btnView = QPushButton()
        self.btnView.setText('')
        self.btnView.setFixedSize(30, 30)
        self.btnView.setIcon(self.view)
        self.btnView.setIconSize(QSize(24, 24))

        self.btnRemove = QPushButton()
        self.btnRemove.setText('')
        self.btnRemove.setFixedSize(30, 30)
        self.btnRemove.setIconSize(QSize(24, 24))
        self.btnRemove.setIcon(self.delete)

        self.layoutH = QHBoxLayout(self.widget)

        self.layoutH.addItem(self.spacerH)
        self.layoutH.addWidget(self.btnApply)
        self.layoutH.addWidget(self.btnView)
        self.layoutH.addWidget(self.btnRemove)

        self.widget.layout().addLayout(self.layoutH)

        self.spacerV = QSpacerItem(10, 0, QSizePolicy.Minimum, QSizePolicy.Expanding)

        self.widget.layout().addItem(self.spacerV)

        self.layout().addWidget(self.widget)
コード例 #7
0
ファイル: sheetview.py プロジェクト: CSCreator/CSCreator
 def __init__(self, page_view: PageView) -> None:
     super().__init__()
     self.page_view = page_view
     self.aspect_ratio = config_controller.paper_ratio
     self.setLayout(QBoxLayout(QBoxLayout.LeftToRight, self))
     #  add spacer, then widget, then spacer
     self.layout().addItem(QSpacerItem(0, 0))
     self.layout().addWidget(page_view)
     self.layout().addItem(QSpacerItem(0, 0))
     self.setAttribute(QtCore.Qt.WA_StyledBackground, True)
     # self.page_view.show()
     self.setObjectName("AspectRatio")
     self.setStyleSheet("#AspectRatio {background-color:grey;}")
コード例 #8
0
    def __init__(self, parent=None):
        super(Repertoire, self).__init__(parent)
        global filename
        self.monRepertoire = {}
        self.labelNom = QLabel("Nom")
        self.labelPrenom = QLabel("Prenom")
        self.labelTel = QLabel("Tel")
        self.leNom = QLineEdit()
        self.lePrenom = QLineEdit()
        self.leTel = QLineEdit()
        self.lwListeNoms = QListWidget()
        self.pbAjouter = QPushButton("Ajouter")
        self.pbModifier = QPushButton("Modifier")

        self.monRepertoire = self.lireJSON(filename)

        #self.lwListeNoms.itemClicked.connect(self.userSelected)
        self.pbAjouter.clicked.connect(self.addUser)
        #self.pbModifier.clicked.connect(self.modifyUser)

        layoutLabels = QVBoxLayout()
        layoutLabels.addWidget(self.labelNom)
        layoutLabels.addWidget(self.labelPrenom)
        layoutLabels.addWidget(self.labelTel)
        layoutLabels.addSpacerItem(
            QSpacerItem(10, 100, QSizePolicy.Expanding, QSizePolicy.Expanding))

        layoutLineEdit = QVBoxLayout()
        layoutLineEdit.addWidget(self.leNom)
        layoutLineEdit.addWidget(self.lePrenom)
        layoutLineEdit.addWidget(self.leTel)
        layoutLineEdit.addSpacerItem(
            QSpacerItem(10, 100, QSizePolicy.Expanding, QSizePolicy.Expanding))

        HLayout = QHBoxLayout()
        HLayout.addWidget(self.lwListeNoms)
        HLayout.addLayout(layoutLabels)
        HLayout.addLayout(layoutLineEdit)

        HLayoutButtons = QHBoxLayout()
        HLayoutButtons.addSpacerItem(QSpacerItem(10, 10,
                                                 QSizePolicy.Expanding))
        HLayoutButtons.addWidget(self.pbModifier)
        HLayoutButtons.addWidget(self.pbAjouter)

        genLayout = QVBoxLayout()
        genLayout.addLayout(HLayout)
        genLayout.addLayout(HLayoutButtons)

        self.setLayout(genLayout)
        self.updateListw()
コード例 #9
0
    def add_purchase_row(self, unit_type, layout, row):

        existing_units = self.cp.base.total_units_of_type(unit_type)
        scheduled_units = self.deliveryEvent.units.get(unit_type, 0)

        unitName = QLabel("<b>" + db.unit_type_name(unit_type) + "</b>")
        unitName.setSizePolicy(
            QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding))

        existing_units = QLabel(str(existing_units))
        existing_units.setSizePolicy(
            QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed))

        amount_bought = QLabel("[{}]".format(str(scheduled_units)))
        amount_bought.setSizePolicy(
            QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed))

        self.existing_units_labels[unit_type] = existing_units
        self.bought_amount_labels[unit_type] = amount_bought

        price = QLabel("{}m".format(db.PRICES[unit_type]))
        price.setSizePolicy(QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed))

        buy = QPushButton("+")
        buy.setProperty("style", "btn-success")
        buy.setMinimumSize(24, 24)
        buy.clicked.connect(lambda: self.buy(unit_type))
        buy.setSizePolicy(QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed))

        sell = QPushButton("-")
        sell.setProperty("style", "btn-danger")
        sell.setMinimumSize(24, 24)
        sell.setSizePolicy(QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed))
        sell.clicked.connect(lambda: self.sell(unit_type))

        layout.addWidget(unitName, row, 0)
        layout.addItem(
            QSpacerItem(20, 0, QSizePolicy.Minimum, QSizePolicy.Minimum), row,
            1)
        layout.addWidget(existing_units, row, 2)
        layout.addWidget(amount_bought, row, 3)
        layout.addWidget(price, row, 4)
        layout.addItem(
            QSpacerItem(20, 0, QSizePolicy.Minimum, QSizePolicy.Minimum), row,
            5)
        layout.addWidget(buy, row, 6)
        layout.addWidget(sell, row, 7)

        return row + 1
コード例 #10
0
ファイル: gui.py プロジェクト: EugeneOros/WebCheck
    def __init__(self, parent=None):
        QWidget.__init__(self)
        parent.addWidget(self)
        self.gridLayout_about = QGridLayout(self)

        self.frame_about = QFrame(self)
        self.frame_about.setEnabled(True)
        self.frame_about.setStyleSheet(styles.frame_about)
        self.frame_about.setFrameShape(QFrame.StyledPanel)
        self.frame_about.setFrameShadow(QFrame.Raised)
        self.gridLayout_about.addWidget(self.frame_about, 0, 1, 1, 1)

        self.gridLayout_frame_about = QGridLayout(self.frame_about)
        self.gridLayout_frame_about.setContentsMargins(-1, 60, -1, -1)

        self.spacer_about_l = QSpacerItem(40, 20, QSizePolicy.Expanding,
                                          QSizePolicy.Minimum)
        self.spacer_about_r = QSpacerItem(40, 20, QSizePolicy.Expanding,
                                          QSizePolicy.Minimum)
        self.spacer_about_b = QSpacerItem(20, 40, QSizePolicy.Minimum,
                                          QSizePolicy.Expanding)
        self.gridLayout_frame_about.addItem(self.spacer_about_l, 0, 0, 1, 1)
        self.gridLayout_frame_about.addItem(self.spacer_about_r, 0, 2, 1, 1)
        self.gridLayout_frame_about.addItem(self.spacer_about_b, 3, 1, 1, 1)

        self.label_about_name = QLabel("WebCheck", self.frame_about)
        self.label_about_name.setStyleSheet(styles.label_about_name)
        self.label_about_name.setAlignment(Qt.AlignCenter)
        self.gridLayout_frame_about.addWidget(self.label_about_name, 0, 1, 1,
                                              1)

        self.label_about_name = QLabel(
            "Made by Eugene Oros & Michał Piotrowski", self.frame_about)
        self.label_about_name.setStyleSheet(styles.label_about_made)
        self.label_about_name.setAlignment(Qt.AlignCenter)
        self.gridLayout_frame_about.addWidget(self.label_about_name, 1, 1, 1,
                                              1)

        self.label_about_version = QLabel("Version 1.0.0", self.frame_about)
        self.label_about_version.setStyleSheet(styles.label_about_version)
        self.label_about_version.setAlignment(Qt.AlignCenter)
        self.gridLayout_frame_about.addWidget(self.label_about_version, 2, 0,
                                              1, 3)

        self.label_about_c = QLabel("\u00a9 All rights reserved",
                                    self.frame_about)
        self.label_about_c.setStyleSheet(styles.label_about_c)
        self.label_about_c.setAlignment(Qt.AlignCenter)
        self.gridLayout_frame_about.addWidget(self.label_about_c, 3, 0, 1, 3)
コード例 #11
0
    def __init__(self):
        QMainWindow.__init__(self)

        self.title = 'test'
        self.left = 10
        self.top = 10
        self.width = 1920
        self.height = 1080

        self.setWindowTitle(self.title)
        self.setGeometry(self.left, self.top, self.width, self.height)

        self.statusBar().showMessage('Ready')

        mainMenu = self.menuBar()
        mainMenu.setNativeMenuBar(False)
        fileMenu = mainMenu.addMenu('File')
        helpMenu = mainMenu.addMenu('Help')

        exitButton = QAction(QIcon('exit24.png'), 'Exit', self)
        exitButton.setShortcut('Ctrl+Q')
        exitButton.setStatusTip('Exit application')
        exitButton.triggered.connect(self.close)
        fileMenu.addAction(exitButton)

        widget = QWidget(self)
        self.setCentralWidget(widget)
        vlay = QVBoxLayout(widget)
        hlay = QHBoxLayout()
        vlay.addLayout(hlay)

        self.nameLabel = QLabel('Name:', self)
        self.line = QLineEdit(self)
        self.nameLabel2 = QLabel('Result', self)

        hlay.addWidget(self.nameLabel)
        hlay.addWidget(self.line)
        hlay.addWidget(self.nameLabel2)
        hlay.addItem(QSpacerItem(1000, 10, QSizePolicy.Expanding))

        pybutton = QPushButton('Click me', self)
        pybutton.clicked.connect(self.clickMethod)
        hlay2 = QHBoxLayout()
        hlay2.addWidget(pybutton)
        hlay2.addItem(QSpacerItem(1000, 10, QSizePolicy.Expanding))
        vlay.addLayout(hlay2)
        m = WidgetPlot(self)
        vlay.addWidget(m)
コード例 #12
0
ファイル: custom_plot.py プロジェクト: fuyans/fsetoolsGUI
    def setupUi(self, main_window):
        self.centralwidget = QWidget(main_window)
        self.p0_layout = QVBoxLayout(self.centralwidget)
        self.p0_layout.setSpacing(0), self.p0_layout.setContentsMargins(
            15, 15, 15, 15)
        self.p0_layout.setContentsMargins(5, 5, 5, 5)

        self.frame = QFrame(self.centralwidget)
        self.frame_layout = QVBoxLayout(self.frame)
        self.frame_layout.setSpacing(0)
        self.frame_layout.setContentsMargins(0, 0, 0, 0)

        self.p0_layout.addWidget(self.frame)

        self.p3_layout = QHBoxLayout()
        self.refresh = QPushButton('Refresh', self.centralwidget)
        self.refresh.setStyleSheet(
            'padding-left:10px; padding-right:10px; padding-top:2px; padding-bottom:2px;'
        )
        self.save_figure = QPushButton('Save', self.centralwidget)
        self.save_figure.setStyleSheet(
            'padding-left:10px; padding-right:10px; padding-top:2px; padding-bottom:2px;'
        )

        self.p3_layout.addItem(
            QSpacerItem(2, 2, QSizePolicy.Expanding, QSizePolicy.Minimum))
        self.p3_layout.addWidget(self.refresh)
        self.p3_layout.addSpacing(5)
        self.p3_layout.addWidget(self.save_figure)
        self.p3_layout.addSpacing(15)

        self.p0_layout.addLayout(self.p3_layout)

        main_window.setCentralWidget(self.centralwidget)
コード例 #13
0
ファイル: page2.py プロジェクト: chusopr/musync
    def __init__(self):
        super().__init__()
        page2Layout = QVBoxLayout(self)

        table_header = QHBoxLayout()
        label0 = QLabel()
        label0.setObjectName("label0")
        table_header.addWidget(label0)
        table_header.addItem(QSpacerItem(1, 1, QSizePolicy.Expanding, QSizePolicy.Minimum))
        label1 = QLabel()
        label1.setObjectName("label1")
        table_header.addWidget(label1)
        page2Layout.addLayout(table_header)

        hLine = QFrame(self.__songs_table)
        hLine.setFrameShape(QFrame.HLine)
        hLine.setFrameShadow(QFrame.Sunken)
        page2Layout.addWidget(hLine)

        scrollArea = QScrollArea()
        scrollClient = QWidget()
        scrollClient.setObjectName("scrollClient")
        scrollArea.setWidgetResizable(True)
        scrollArea.setWidget(scrollClient)
        page2Layout.addWidget(scrollArea)

        self.__new_song_row.connect(self.__add_song_row)
コード例 #14
0
 def fill(self):
     text = self.filter.text()
     if self.content:
         self.content.setParent(None)
         del self.content
     self.content = QWidget(self)
     self.grid = QGridLayout(self.content)
     self.ly.addWidget(self.content)
     i = 0
     for ico in sorted(self.icons):
         if text:
             if not text.lower() in ico.lower():
                 continue
         w = QWidget(self)
         w.setObjectName(ico)
         l = QHBoxLayout(w)
         label = QLabel()
         label.setMinimumSize(QSize(iconSize, iconSize))
         label.setPixmap(self.icons[ico])
         l.addWidget(label)
         name = QLineEdit()
         name.setReadOnly(1)
         name.setText(ico)
         l.addWidget(name)
         r = i % 3
         c = i / 3
         i += 1
         self.grid.addWidget(w, c, r)
     spacerItem = QSpacerItem(20, 40, QSizePolicy.Minimum,
                              QSizePolicy.Expanding)
     self.grid.addItem(spacerItem, i + 1, 0, 1, 1)
コード例 #15
0
    def __init__(self, parent=None, shared_dict=None):
        QWidget.__init__(self)
        parent.addWidget(self)
        self.shared_dict = shared_dict
        self.parent = parent
        self.setLayoutDirection(Qt.LeftToRight)

        self.gridLayout = QGridLayout(self)
        self.gridLayout.setContentsMargins(0, 0, 0, 0)

        self.scrollArea = QScrollArea(self)
        self.scrollArea.setStyleSheet("""QScrollArea{border: none;}""")
        self.scrollArea.setVerticalScrollBarPolicy(Qt.ScrollBarAsNeeded)
        self.scrollArea.setSizeAdjustPolicy(QAbstractScrollArea.AdjustIgnored)
        self.scrollArea.setWidgetResizable(True)
        self.gridLayout.addWidget(self.scrollArea, 0, 0, 1, 1)

        self.scrollAreaWidgetContents = QWidget()
        self.scrollAreaWidgetContents.setGeometry(QRect(0, 0, 654, 479))
        self.scrollArea.setWidget(self.scrollAreaWidgetContents)

        self.gridLayout_scroll_area = QGridLayout(self.scrollAreaWidgetContents)
        self.gridLayout_scroll_area.setSpacing(0)
        self.gridLayout_scroll_area.setContentsMargins(40, 0, 40, -1)

        self.label_title = QLabel("List of your monitored objects", self.scrollAreaWidgetContents)
        self.label_title.setStyleSheet(styles.label_title)
        self.label_title.setAlignment(Qt.AlignCenter)
        self.gridLayout_scroll_area.addWidget(self.label_title)

        self.spacer = QSpacerItem(20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding)

        self.load_list()
コード例 #16
0
def get_view_for_submodel(submodel):
    main_widget = QWidget()

    hbox_layout = QHBoxLayout(main_widget)
    vbox_layout = QVBoxLayout()

    table_view = QTableView()
    table_view.setSelectionBehavior(QAbstractItemView.SelectRows)
    table_view.setSelectionMode(QAbstractItemView.SingleSelection)
    table_view.setModel(submodel)

    add_button = QPushButton("+")
    add_button.clicked.connect(lambda: add_item_to_model(submodel))

    remove_button = QPushButton("-")
    remove_button.clicked.connect(
        lambda: remove_item_from_model(submodel, table_view))

    vbox_layout.addWidget(add_button)
    vbox_layout.addWidget(remove_button)
    vbox_layout.addItem(
        QSpacerItem(20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding))

    hbox_layout.addWidget(table_view)
    hbox_layout.addLayout(vbox_layout)

    return main_widget
コード例 #17
0
    def _init_def_layout(self):
        self._layout = QHBoxLayout()
        self.set_layout(self._layout)
        self._layout.setContentsMargins(5, 0, 10, 5)
        self._layout.setSpacing(10)
        #
        self._log = QLabel()
        self._log.setObjectName("Title_LogLabel")
        self._layout.addWidget(self._log)
        self._log.hide()
        self._title = QLabel()
        self._title.setObjectName("Title_TitleLabel")
        self._layout.addWidget(self._title)
        # self._title.hide()
        self._layout.addSpacerItem(
            QSpacerItem(0, 0, QSizePolicy.Expanding, QSizePolicy.Fixed))
        # close button
        self._close_btn = DImageButton()
        self._close_btn.setObjectName("Title_CloseButton")
        self._maximize_btn = DImageButton()
        self._maximize_btn.setObjectName("Title_MaximizeButton")
        self._minimize_btn = DImageButton()
        self._minimize_btn.setObjectName("Title_MinimizeButton")
        self._layout.addWidget(self._minimize_btn, 0, Qt.AlignRight)
        self._layout.addWidget(self._maximize_btn, 0, Qt.AlignRight)
        self._layout.addWidget(self._close_btn, 0, Qt.AlignRight)

        #self._close_btn.hide()
        self._maximize_btn.hide()
        # self._minimize_btn.hide()

        self._close_btn.clicked.connect(self.close)
        self._minimize_btn.clicked.connect(self.show_minimized)
        self._maximize_btn.clicked.connect(self.show_maximized)
コード例 #18
0
    def __init__(self, parent=None):
        QWidget.__init__(self, parent)
        self.gridLayout = QGridLayout(self)
        parent.addWidget(self)
        self.label_animation = QLabel("Loading...", self)
        self.gridLayout.addWidget(self.label_animation, 1, 1, 1, 1)
        self.label_animation.setStyleSheet("""QLabel{font-size: 20px; color: #43454f; font: 23pt "Corbel"}""")

        self.spacer_l = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum)
        self.gridLayout.addItem(self.spacer_l, 1, 0, 1, 1)
        self.spacer_r = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum)
        self.gridLayout.addItem(self.spacer_r, 1, 2, 1, 1)
        self.spacer_t = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum)
        self.gridLayout.addItem(self.spacer_l, 0, 1, 1, 2)
        self.spacer_b = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum)
        self.gridLayout.addItem(self.spacer_r, 2, 1, 1, 2)
コード例 #19
0
    def __init__(self, parent):
        super(SequenceRecordsWindow, self).__init__(parent)
        self.grid_layout = QGridLayout()
        self.grid_layout.setContentsMargins(0, 0, 0, 0)
        self.grid_layout.setSpacing(0)
        self.setLayout(self.grid_layout)

        self.seq_font = QFont()
        self.seq_font.setFamily("Noto Sans Mono")
        self.seq_font.setPointSize(12)
        self.seq_font.setFixedPitch(True)
        self.seq_font.setStyleHint(QFont.Monospace)

        self.seq_h_scroll_bar = QScrollBar(self, self.parent())
        self.seq_h_scroll_bar.setOrientation(Qt.Horizontal)
        self.seq_h_scroll_bar.setMinimum(0)
        self.seq_h_scroll_bar.setMaximum(self.longest_seq_len - self.char_nb)
        self.seq_h_scroll_bar.valueChanged.connect(self.move_seqs)
        self.grid_layout.addWidget(self.seq_h_scroll_bar,
                                   self.grid_layout.rowCount(), 5)

        self.lower_spacer_item = QSpacerItem(1, 1, QSizePolicy.Minimum,
                                             QSizePolicy.MinimumExpanding)
        self.grid_layout.addItem(self.lower_spacer_item)

        self.seq_record_items = []
コード例 #20
0
    def __init__(self, parent):
        super(SessionsPage, self).__init__()
        self.parent = parent
        self.grid = QGridLayout()

        self.title = QLabel("Sessions")
        self.title.setAlignment(Qt.AlignHCenter)
        self.listeW = ListWidget(
            self.parent.parent.db.executewithreturn(
                """SELECT * FROM sessions"""))
        self.liste = self.listeW.liste
        self.supp = PushButton("Supprimer")
        self.suppAll = PushButton("Tout supprimer")
        self.spacerItem = QSpacerItem(20, 20)
        self.tEntryString = "Nom de la session"
        self.tEntry = QLineEdit(self.tEntryString)
        self.addSession = PushButton("Ajouter une session")

        self.listeW.itemDoubleClicked.connect(self.launch)
        self.suppAll.clicked.connect(self.deleteall)
        self.supp.clicked.connect(self.delete)
        self.addSession.clicked.connect(self.addsession)

        self.grid.addWidget(self.title, 1, 1, 1, 2)
        self.grid.addWidget(self.listeW, 2, 1, 1, 2)
        self.grid.addWidget(self.supp, 3, 1)
        self.grid.addWidget(self.suppAll, 3, 2)
        self.grid.addItem(self.spacerItem, 4, 1, 1, 2)
        self.grid.addWidget(self.tEntry, 5, 1, 1, 2)
        self.grid.addWidget(self.addSession, 6, 1, 1, 2)

        self.setLayout(self.grid)
コード例 #21
0
ファイル: tz_wishlist.py プロジェクト: Lucky324/wish_list
    def setupLayout(self):
        self.table = QTableWidget()
        self.table.setMinimumHeight(725)
        self.refresh_table()
        self.layout = QVBoxLayout()
        self.layout.addWidget(self.table)
        inputLayout = QHBoxLayout()
        self.newName = QLineEdit()
        self.newCost = QLineEdit()
        self.newLink = QLineEdit()
        self.newNote = QLineEdit()
        self.addButton = QPushButton()
        self.addButton.pressed.connect(self.onAddButton)
        self.addButton.setText("add")
        inputLayout.addWidget(self.newName)
        inputLayout.addWidget(self.newCost)
        inputLayout.addWidget(self.newLink)
        inputLayout.addWidget(self.newNote)
        inputLayout.addWidget(self.addButton)
        self.layout.addLayout(inputLayout)

        self.verticalSpacer = QSpacerItem(20, 40, QSizePolicy.Minimum,
                                          QSizePolicy.Expanding)
        self.layout.addItem(self.verticalSpacer)

        self.deleteButton = QPushButton()
        self.deleteButton.setText("delete")
        self.deleteButton.pressed.connect(self.onDeleteButton)
        self.layout.addWidget(self.deleteButton)

        self.setLayout(self.layout)
コード例 #22
0
ファイル: main.py プロジェクト: yenru0/self-satisfaction
    def __init__(self, preference, parent=None):
        super().__init__(parent)
        self.setupUi(self)
        self.setWindowTitle("self-satisfaction")

        self.setMouseTracking(True)
        self.setWindowFlags(Qt.FramelessWindowHint | Qt.WindowStaysOnTopHint)
        self.setAttribute(Qt.WA_TranslucentBackground, True)
        self.central.setAutoFillBackground(True)
        self.interestings = []

        self.mousePos: tuple = (0, 0)
        self.isPressed: bool = False

        self.count = len(preference["elements"])
        self.listItemJudget = []

        for i, elem in enumerate(preference["elements"]):
            v = ItemJudger(elem["title"],
                           datetime.datetime.strptime(elem["finish"],
                                                      "%Y-%m-%d-%H-%M-%S"),
                           maxRemain=int(elem["maxRemain"]),
                           display_fmt=elem["display_fmt"],
                           parent=self.central)
            v.setObjectName(f"itemJudger{i}")
            self.centralLayout.addWidget(v)
            self.listItemJudget.append(v)

        tnp = self.central.palette()
        tnp.setColor(self.central.backgroundRole(),
                     QColor(*map(int, preference["background_color"].split())))
        self.central.setPalette(tnp)

        self.centralLayout.addItem(
            QSpacerItem(20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding))
コード例 #23
0
ファイル: page2.py プロジェクト: chusopr/musync
    def update(self):
        scroll_client = self.findChild(QWidget, "scrollClient")
        if self.__songs_table:
            self.__songs_table.deleteLater()
            del self.__songs_table

        sources = self.parent().parent().parent().page(0).getSources()
        items = self.parent().parent().parent().page(0).getItems()

        combo0 = self.parent().parent().parent().findChild(QComboBox, "Playlist0")
        label0 = self.findChild(QLabel, "label0")
        label0.setText("{} in {}".format(combo0.currentText(), sources[0].getName()))
        label0.setToolTip("{} in {}".format(combo0.currentText(), sources[0].getName()))
        combo1 = self.parent().parent().parent().findChild(QComboBox, "Playlist1")
        label1 = self.findChild(QLabel, "label1")
        label1.setText("{} in {}".format(combo1.currentText(), sources[1].getName()))
        label1.setToolTip("{} in {}".format(combo1.currentText(), sources[1].getName()))

        self.__songs_table = QGridLayout()
        self.__songs_table.setObjectName("songs_table")
        self.__songs_table.addItem(QSpacerItem(1, 1, QSizePolicy.Expanding, QSizePolicy.Expanding), 0, 0, 1, 2)

        scroll_client.setLayout(self.__songs_table)

        threading.Thread(target=self.__search_songs, args=(sources, combo0.currentData(), combo1.currentData(), items,)).start()
コード例 #24
0
    def layouts(self):
        self.mainLayout = QVBoxLayout()
        self.topLayout = QVBoxLayout()
        self.bottomLayout = QFormLayout()
        self.bottomBtnLayout = QHBoxLayout()

        self.topFrame = QFrame()
        self.bottomFrame = QFrame()

        # Add widgets
        self.topLayout.addWidget(self.titleText)
        self.topLayout.addWidget(self.facilityImg)
        self.topFrame.setLayout(self.topLayout)

        self.bottomLayout.addRow("ID: ", self.idEntry)
        self.bottomLayout.addRow("First name: ", self.nameEntry)
        self.bottomLayout.addRow("Last name: ", self.locationEntry)
        self.bottomLayout.addRow("Title: ", self.phoneEntry)
        self.bottomLayout.addRow("Phone: ", self.emailEntry)
        self.bottomLayout.addRow("Email: ", self.supervisorEntry)

        self.bottomBtnLayout.addWidget(self.cancelBtn)
        self.bottomBtnLayout.addItem(
            QSpacerItem(60, 40, QSizePolicy.Minimum, QSizePolicy.Expanding))
        self.bottomBtnLayout.addWidget(self.deleteBtn)
        self.bottomBtnLayout.addWidget(self.updateBtn)

        self.bottomLayout.addRow(self.bottomBtnLayout)
        self.bottomFrame.setLayout(self.bottomLayout)

        self.mainLayout.addWidget(self.topFrame)
        self.mainLayout.addWidget(self.bottomFrame)

        self.setLayout(self.mainLayout)
コード例 #25
0
    def _set_progress_layout(self, progress_layout, widget, transfered, size,
                             state):
        is_current = state in self.CURRENT_TASK_STATES
        is_error = state in self.ERROR_STATES

        progress_background = QStackedWidget(widget)
        progress_background.setObjectName("progress_background")
        progress_bar = QProgressBar(progress_background)
        progress_bar.setObjectName("progress_bar")
        progress_bar.setMinimum(0)
        progress_bar.setMaximum(size if is_current and state != DOWNLOAD_FAILED
                                and self._paused_state == self.WORKING else 0)
        if is_current:
            progress_bar.setValue(transfered)
        progress_bar.setTextVisible(False)

        progress_label = QLabel(widget)
        progress_label.setObjectName("progress_label")

        self._set_progress_bar_style(progress_bar, progress_background,
                                     progress_label, state, is_current,
                                     is_error)

        progress_background.addWidget(progress_bar)
        progress_layout.addWidget(progress_background,
                                  alignment=Qt.AlignVCenter)

        progress_label.setFont(QFont('Noto Sans', 7 * self._dp))
        progress_layout.addWidget(progress_label)
        spacerItem = QSpacerItem(6, 10, QSizePolicy.Maximum,
                                 QSizePolicy.Minimum)
        progress_layout.addItem(spacerItem)
コード例 #26
0
    def __init__(self, parent: QWidget = None):
        super(ColorPanelFader, self).__init__(parent)
        self.__barSpace: int = 6  # 柱状条间隔
        self.__groupSpace: int = 20  # 分组间隔
        self.__bgColor: QColor = QColor(70, 70, 70)  # 背景颜色

        self.__layout: QHBoxLayout = QHBoxLayout()
        self.__spacer1: QSpacerItem = QSpacerItem(self.groupSpace, 10,
                                                  QSizePolicy.Fixed,
                                                  QSizePolicy.Expanding)
        self.__spacer2: QSpacerItem = QSpacerItem(self.groupSpace, 10,
                                                  QSizePolicy.Fixed,
                                                  QSizePolicy.Expanding)
        self.__items: List[ColorPanelBar] = []
        self.setLayout(self.__layout)

        self.initForm()
コード例 #27
0
    def print_exporters(self):
        layout = self.ui.exporters_contents.layout()
        self.clear_layout(layout)

        for index, exporter in enumerate(self.gui_root.fslapp.server.exporters):
            exporter_ui_module = ExporterContainer(self.gui_root, exporter)
            layout.addWidget(exporter_ui_module)

        layout.addItem(QSpacerItem(20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding))
コード例 #28
0
    def createLayout(self):
        self.mainBox = QHBoxLayout()
        self._3dPlotBox = QVBoxLayout()
        self.vidBox = QVBoxLayout()
        self.buttonBox = QHBoxLayout()
        self.frCtrl = QVBoxLayout()
        self.frBtnCtrl = QHBoxLayout()
        self.seqCtrl = QVBoxLayout()
        self.seqBtnCtrl = QHBoxLayout()
        self.frSub = QHBoxLayout()
        self.seqSub = QHBoxLayout()

        self.mainBox.addLayout(self._3dPlotBox)
        self.mainBox.addLayout(self.vidBox)

        self._3dPlotBox.addLayout(self.buttonBox)
        self._3dPlotBox.addWidget(self.gl3dPlot)

        self.vidBox.addWidget(self.vidFrame1)
        self.vidBox.addWidget(self.vidFrame2)
        self.vidBox.addWidget(self.vidFrame3)
        self.vidBox.addItem(
            QSpacerItem(20, 100, QSizePolicy.Minimum, QSizePolicy.Expanding))
        self.vidBox.setContentsMargins(0, 0, 0, 0)
        self.vidBox.setSpacing(0)
        self.vidBox.setMargin(0)
        self.vidBox.addStretch(1)

        self.frCtrl.addLayout(self.frSub)
        self.frSub.addStretch(1)
        self.frSub.addWidget(self.frCtrlLabel)
        self.frSub.addStretch(1)
        self.frCtrl.addLayout(self.frBtnCtrl)
        self.frBtnCtrl.addWidget(self.frPrev)
        self.frBtnCtrl.addWidget(self.frLabel)
        self.frBtnCtrl.addWidget(self.frNext)

        self.seqCtrl.addLayout(self.seqSub)
        self.seqSub.addStretch(1)
        self.seqSub.addWidget(self.seqCtrlLabel)
        self.seqSub.addStretch(1)
        self.seqCtrl.addLayout(self.seqBtnCtrl)
        self.seqBtnCtrl.addWidget(self.seqPrev)
        self.seqBtnCtrl.addWidget(self.seqLabel)
        self.seqBtnCtrl.addWidget(self.seqNext)

        self.buttonBox.addLayout(self.seqCtrl)
        self.buttonBox.addStretch(1)
        self.buttonBox.addLayout(self.frCtrl)
        self.buttonBox.addWidget(self.frReset)
        self.buttonBox.addStretch(1)
        self.buttonBox.addWidget(self.frPause)
        self.buttonBox.addWidget(self.frPlay)

        self.setLayout(self.mainBox)
コード例 #29
0
    def create_tracker(self, game_enum: RandovaniaGame):
        effective_theme = self.theme
        if not path_for(game_enum, effective_theme).is_file():
            effective_theme = TrackerTheme.CLASSIC

        if (game_enum, effective_theme) == self._last_tracker_config:
            return
        self.delete_tracker()

        resource_database = default_database.resource_database_for(game_enum)

        with path_for(game_enum,
                      effective_theme).open("r") as tracker_details_file:
            tracker_details = json.load(tracker_details_file)

        for element in tracker_details["elements"]:
            text_template = ""

            if "image_path" in element:
                image_path = get_data_path().joinpath(element["image_path"])
                pixmap = QPixmap(str(image_path))

                label = ClickableLabel(self.inventory_group,
                                       paint_with_opacity(pixmap, 0.3),
                                       paint_with_opacity(pixmap, 1.0))
                label.set_checked(False)
                label.set_ignore_mouse_events(True)

            elif "label" in element:
                label = QLabel(self.inventory_group)
                label.setAlignment(Qt.AlignCenter)
                text_template = element["label"]

            else:
                raise ValueError(f"Invalid element: {element}")

            resources = [
                find_resource_info_with_long_name(resource_database.item,
                                                  resource_name)
                for resource_name in element["resources"]
            ]
            self._tracker_elements.append(
                Element(label, resources, text_template))
            self.inventory_layout.addWidget(label, element["row"],
                                            element["column"])

        self.inventory_spacer = QSpacerItem(5, 5, QSizePolicy.Expanding,
                                            QSizePolicy.Expanding)
        self.inventory_layout.addItem(self.inventory_spacer,
                                      self.inventory_layout.rowCount(),
                                      self.inventory_layout.columnCount())
        self._update_tracker_from_hook({})

        self._last_tracker_config = (game_enum, effective_theme)
コード例 #30
0
    def initMenu(self):
        layout = QVBoxLayout()
        hlayout = QHBoxLayout()

        # bouton ajout
        self.tbPlus = QToolButton()
        self.tbPlus.setGeometry(QRect(0, 0, 32, 32))
        self.tbPlus.setIcon(self.iPlus)
        self.tbPlus.setObjectName("tbPlus")

        hlayout.addWidget(self.tbPlus)
        self.tbPlus.clicked.connect(self.add)

        # bouton suppression
        self.tbMinus = QToolButton()
        self.tbMinus.setGeometry(QRect(0, 0, 32, 32))
        self.tbMinus.setIcon(self.iMinus)
        self.tbMinus.setObjectName("tbMinus")

        hlayout.addWidget(self.tbMinus)
        self.tbMinus.clicked.connect(self.delete)

        # bouton édition
        self.tbEdit = QToolButton()
        self.tbEdit.setGeometry(QRect(0, 0, 32, 32))
        self.tbEdit.setIcon(self.iEdit)
        self.tbEdit.setObjectName("tbEdit")

        hlayout.addWidget(self.tbEdit)
        self.tbEdit.clicked.connect(self.editBtn)

        # bouton paramètres
        self.tbParam = QToolButton()
        self.tbParam.setGeometry(QRect(0, 0, 32, 32))
        self.tbParam.setIcon(self.iParam)
        self.tbParam.setObjectName("tbParam")

        hlayout.addWidget(self.tbParam)
        self.tbParam.clicked.connect(self.settings)

        layout.addLayout(hlayout)

        self.pbStop = QPushButton("Don't STOP\n\nthe\n\nSoundBoard")
        self.pbStop.setStyleSheet("font-weight: bold;")
        self.pbStop.setMinimumSize(QSize(100, 100))
        self.pbStop.setGeometry(QRect(0, 0, 100, 100))
        layout.addWidget(self.pbStop)
        self.pbStop.clicked.connect(self.stop)

        spacerMenu = QSpacerItem(20, 40, QSizePolicy.Minimum,
                                 QSizePolicy.Expanding)
        layout.addItem(spacerMenu)

        self.windowLayout.addLayout(layout)