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)
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)
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)
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)
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)
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)
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;}")
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()
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
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)
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)
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)
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)
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)
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()
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
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)
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)
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 = []
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)
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)
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))
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()
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)
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)
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()
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))
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)
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)
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)