class PageAllegroMonitored(QWidget): 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 load_list(self): elements = data.read_monitored_elements() for element in elements: e = ElementAllegroMonitored(element['name'], element['link'], element['is_done'], element['price'], element['xpath'], element['time'], element['is_monitoring'], self.scrollAreaWidgetContents, self.shared_dict) self.gridLayout_scroll_area.addWidget(e) self.gridLayout_scroll_area.addItem(self.spacer) def add_to_list(self, name, link, is_done, price, xpath, time, is_monitoring): self.gridLayout_scroll_area.removeItem(self.spacer) e = ElementAllegroMonitored(name, link, is_done, price, xpath, time, is_monitoring) self.gridLayout_scroll_area.addWidget(e) self.gridLayout_scroll_area.addItem(self.spacer)
def __init__(self, *args, **kwargs): QMessageBox.__init__(self, *args, **kwargs) chldn = self.children() scrll = QScrollArea(self) scrll.setWidgetResizable(True) grd = self.findChild(QGridLayout) lbl = QLabel(chldn[1].text(), self) lbl.setWordWrap(True) scrll.setWidget(lbl) scrll.setMinimumSize(400, 200) scrll.setStyleSheet('background:transparent; border:0;') grd.addWidget(scrll, 0, 1) chldn[1].setText('') self.exec_()
def usage(self): """Show usage of the program. """ msg = QMessageBox(self.parent) msg.setWindowTitle("Usage") #msg.setTitle("Usage of this GUI") text = QLabel(MessageText.usage_text) msg.setIcon(QMessageBox.Information) scroll = QScrollArea(msg) scroll.setWidgetResizable(True) grid = msg.findChild(QGridLayout) text.setWordWrap(True) scroll.setWidget(text) scroll.setMinimumSize(800, 400) scroll.setStyleSheet(""" border: 1.5px solid black; padding: 15px; """) grid.addWidget(scroll, 0, 1) msg.exec_()
def build_ui(self): layout = QGridLayout(self) layout.setContentsMargins(5, 5, 5, 5) self.setLayout(layout) self.name_edt = QLineEdit() self.name_edt.setPlaceholderText('Create New') self.name_edt.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.Preferred) layout.addWidget(self.name_edt, 0, 0, 1, 1) self.add_btn = QPushButton() self.add_btn.setIcon(QIcon(QPixmap(':/teAdditive.png'))) self.add_btn.setSizePolicy(QSizePolicy.Maximum, QSizePolicy.Preferred) layout.addWidget(self.add_btn, 0, 1, 1, 1) self.refresh_btn = QPushButton() self.refresh_btn.setIcon(QIcon(QPixmap(':/teKeyRefresh.png'))) self.refresh_btn.setSizePolicy(QSizePolicy.Maximum, QSizePolicy.Preferred) layout.addWidget(self.refresh_btn, 0, 2, 1, 1) scroll_wdg = QWidget(self) scroll_area = QScrollArea() scroll_area.setWidgetResizable(True) scroll_area.setStyleSheet( "QScrollArea { background-color: rgb(57,57,57);}") scroll_area.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOn) scroll_area.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff) scroll_area.setWidget(scroll_wdg) self.spore_layout = QVBoxLayout() self.spore_layout.setContentsMargins(1, 1, 3, 1) self.spore_layout.setSpacing(0) self.spore_layout.addStretch() scroll_wdg.setLayout(self.spore_layout) layout.addWidget(scroll_area, 1, 0, 1, 3)