def __init__(self, parent=None): QWidget.__init__(self, parent) self.model = None self.table_name = '' self.mapper = None self.modified = False self.name = "N/A" self.operation_type = None self.layout = QGridLayout(self) self.layout.setContentsMargins(2, 2, 2, 2) self.bold_font = QFont() self.bold_font.setBold(True) self.main_label = QLabel(self) self.main_label.setFont(self.bold_font) self.layout.addWidget(self.main_label, 0, 0, 1, 1, Qt.AlignLeft) self.commit_button = QPushButton(load_icon("accept.png"), '', self) self.commit_button.setToolTip(self.tr("Commit changes")) self.commit_button.setEnabled(False) self.revert_button = QPushButton(load_icon("cancel.png"), '', self) self.revert_button.setToolTip(self.tr("Cancel changes")) self.revert_button.setEnabled(False) self.verticalSpacer = QSpacerItem(20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding) self.horizontalSpacer = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum)
def __init__(self, parent=None): QToolButton.__init__(self) self.setParent(parent)\ # Set the layout of the button layout = QGridLayout() # Button formatting self.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) self.setAutoRaise(True) # Icon part of the button self.icon = QLabel() self.icon.setAlignment(Qt.AlignCenter) self.icon.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) self.iconPixmap = QPixmap() # Text part of the button # Initialise label self.text = QLabel() self.text.setAlignment(Qt.AlignBottom) # TODO: Change colour with universal theme self.text.setStyleSheet("color: white") # Add font styling font = QFont() font.setPixelSize(15) self.text.setFont(font) # Add components to the layer layout.addWidget(self.icon, 0, 0, 3, 3) layout.addWidget(self.text, 2, 0, 1, 3) self.setLayout(layout)
def __init__(self) -> None: super().__init__() self.resize(500, 300) # 非组件对象 self.values = {} self.ut = UpdateValues() # 界面组件对象 self.centralwidget = QWidget(self) self.table = QTableWidget(self.centralwidget) self.startButton = QPushButton(self.centralwidget, text='开始') self.stopButton = QPushButton(self.centralwidget, text='停止') self.stopButton.setDisabled(True) self.table.setColumnCount(3) self.table.setHorizontalHeaderItem(0, QTableWidgetItem('GID')) self.table.setHorizontalHeaderItem(2, QTableWidgetItem('name')) self.table.setHorizontalHeaderItem(1, QTableWidgetItem('speed')) self.table.horizontalHeader().setStretchLastSection(True) self.table.setRowCount(1) self.layout = QGridLayout(self.centralwidget) self.layout.addWidget(self.startButton) self.layout.addWidget(self.stopButton) self.layout.addWidget(self.table) self.setCentralWidget(self.centralwidget) self.ut.resultReady.connect(self.on_changeValue) self.startButton.clicked.connect(self.changeValue) self.stopButton.clicked.connect(self.stopUpdate)
def __init__(self, parent, start, stop): super().__init__(parent) self.setWindowTitle("Crop data") vbox = QVBoxLayout(self) grid = QGridLayout() self.start_checkbox = QCheckBox("Start time:") self.start_checkbox.setChecked(True) self.start_checkbox.stateChanged.connect(self.toggle_start) grid.addWidget(self.start_checkbox, 0, 0) self._start = QDoubleSpinBox() self._start.setMaximum(999999) self._start.setValue(start) self._start.setDecimals(2) self._start.setSuffix(" s") grid.addWidget(self._start, 0, 1) self.stop_checkbox = QCheckBox("Stop time:") self.stop_checkbox.setChecked(True) self.stop_checkbox.stateChanged.connect(self.toggle_stop) grid.addWidget(self.stop_checkbox, 1, 0) self._stop = QDoubleSpinBox() self._stop.setMaximum(999999) self._stop.setValue(stop) self._stop.setDecimals(2) self._stop.setSuffix(" s") grid.addWidget(self._stop, 1, 1) vbox.addLayout(grid) buttonbox = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel) vbox.addWidget(buttonbox) buttonbox.accepted.connect(self.accept) buttonbox.rejected.connect(self.reject) vbox.setSizeConstraint(QVBoxLayout.SetFixedSize)
def draw(self, targetLayout, itemData): self.layoutItemDetail = QGridLayout(parent=targetLayout) self.layoutItem_no = QLabel() self.layoutItem_no.setObjectName('layoutItem_no') self.layoutItem_no.setAlignment(Qt.AlignCenter) self.layoutItem_namecn = QLabel() self.layoutItem_namecn.setObjectName('layoutItem_namecn') self.layoutItem_namecn.setAlignment(Qt.AlignBottom) self.layoutItem_nameen = QLabel() self.layoutItem_nameen.setObjectName('layoutItem_nameen') self.layoutItem_data = QLabel() self.layoutItem_data.setObjectName('layoutItem_data') self.layoutItem_data.setAlignment(Qt.AlignTop) self.layoutItem_price = QLabel() self.layoutItem_price.setObjectName('layoutItem_price') self.layoutItem_price.setAlignment(Qt.AlignBottom | Qt.AlignCenter) self.layoutItem_capacity = QLabel() self.layoutItem_capacity.setObjectName('layoutItem_capacity') self.layoutItem_capacity.setAlignment(Qt.AlignCenter | Qt.AlignTop) self.layoutItemDetail.addWidget(self.layoutItem_no, 0, 0, 4, 2) self.layoutItemDetail.addWidget(self.layoutItem_namecn,0, 3, 2, 12) self.layoutItemDetail.addWidget(self.layoutItem_nameen,2, 3, 1, 12) self.layoutItemDetail.addWidget(self.layoutItem_data, 3, 3, 1, 12) self.layoutItemDetail.addWidget(self.layoutItem_price, 0, 15, 2, 2) self.layoutItemDetail.addWidget(self.layoutItem_capacity, 2, 15, 2, 2) self.write2Layout(itemData)
def __init__(self): QWidget.__init__(self) self.model = CustomTableModel() self.table_view = QTableView() self.table_view.setModel(self.model) self.table_view.horizontalHeader().setSectionResizeMode( QHeaderView.Stretch) self.table_view.verticalHeader().setSectionResizeMode( QHeaderView.Stretch) self.chart = QtCharts.QChart() self.chart.setAnimationOptions(QtCharts.QChart.AllAnimations) self.series = QtCharts.QLineSeries() self.series.setName("Line 1") self.mapper = QtCharts.QVXYModelMapper(self) self.mapper.setXColumn(0) self.mapper.setYColumn(1) self.mapper.setSeries(self.series) self.mapper.setModel(self.model) self.chart.addSeries(self.series) # for storing color hex from the series seriesColorHex = "#000000" # get the color of the series and use it for showing the mapped area seriesColorHex = "{}".format(self.series.pen().color().name()) self.model.add_mapping(seriesColorHex, QRect(0, 0, 2, self.model.rowCount())) # series 2 self.series = QtCharts.QLineSeries() self.series.setName("Line 2") self.mapper = QtCharts.QVXYModelMapper(self) self.mapper.setXColumn(2) self.mapper.setYColumn(3) self.mapper.setSeries(self.series) self.mapper.setModel(self.model) self.chart.addSeries(self.series) # get the color of the series and use it for showing the mapped area seriesColorHex = "{}".format(self.series.pen().color().name()) self.model.add_mapping(seriesColorHex, QRect(2, 0, 2, self.model.rowCount())) self.chart.createDefaultAxes() self.chart_view = QtCharts.QChartView(self.chart) self.chart_view.setRenderHint(QPainter.Antialiasing) self.chart_view.setMinimumSize(640, 480) # create main layout self.main_layout = QGridLayout() self.main_layout.addWidget(self.table_view, 1, 0) self.main_layout.addWidget(self.chart_view, 1, 1) self.main_layout.setColumnStretch(1, 1) self.main_layout.setColumnStretch(0, 0) self.setLayout(self.main_layout)
def load_game_list(self, game_layout: QGridLayout): while game_layout.count(): child = game_layout.takeAt(0) if child.widget(): child.widget().deleteLater() games = self.all_displays all_entries = iter_entry_points('zero_play.game_display') filtered_entries = self.filter_games(all_entries) for game_entry in filtered_entries: display_class = game_entry.load() display: GameDisplay = display_class() self.destroyed.connect(display.close) # type: ignore display.game_ended.connect(self.on_game_ended) # type: ignore games.append(display) games.sort(key=attrgetter('start_state.game_name')) column_count = math.ceil(math.sqrt(len(games))) for i, display in enumerate(games): row = i // column_count column = i % column_count game_name = display.start_state.game_name game_button = QPushButton(game_name) game_button.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Minimum) game_button.clicked.connect( partial( self.show_game, # type: ignore display)) game_layout.addWidget(game_button, row, column) self.ui.history_game.addItem(game_name, userData=display) if display.rules_path is not None: game_rules_action = self.ui.menu_rules.addAction(game_name) game_rules_action.triggered.connect( partial(self.on_rules, display))
def __init__(self, parent=None): super().__init__(parent) layout_map = [ [None, None, Symbol.CLEAR, Symbol.ALL_CLEAR], [Symbol.SEVEN, Symbol.EIGHT, Symbol.NINE, Symbol.DIVISION], [Symbol.FOUR, Symbol.FIVE, Symbol.SIX, Symbol.MULTIPLICATION], [Symbol.ONE, Symbol.TWO, Symbol.THREE, Symbol.SUBTRACTION], [Symbol.ZERO, Symbol.POINT, Symbol.EQUALS, Symbol.ADDITION] ] layout = QGridLayout() for row, columns in enumerate(layout_map): for column, symbol in enumerate(columns): if symbol is None: continue button = QPushButton(symbol.value) button.clicked.connect(partial(self.button_clicked.emit, symbol)) layout.addWidget(button, row, column) shortcut = QShortcut(QKeySequence(symbol.value), self) shortcut.activated.connect(button.click) alt_shortcut = None if symbol == Symbol.MULTIPLICATION: alt_shortcut = QShortcut(QKeySequence('*'), self) elif symbol == Symbol.EQUALS: alt_shortcut = QShortcut(QKeySequence.InsertParagraphSeparator, self) if alt_shortcut: alt_shortcut.activated.connect(button.click) self.setLayout(layout)
def init_layout(self): self.main_layout = QGridLayout() self.main_layout.setHorizontalSpacing(4) self.main_layout.setVerticalSpacing(4) self.main_layout.setContentsMargins(10, 10, 10, 10) self.main_layout.setAlignment(QtCore.Qt.AlignTop | QtCore.Qt.AlignLeft) self.setLayout(self.main_layout)
def __init__(self, config: Config) -> None: super().__init__() self._pool = QThreadPool.globalInstance() self._view = QTableView() self._view.horizontalHeader().setCascadingSectionResizes(True) self._view.horizontalHeader().setStretchLastSection(True) self._view.setAlternatingRowColors(True) self._view.setSelectionBehavior(QTableView.SelectRows) self.config = config self._init_options_group_box() self._init_button_box() main_layout = QGridLayout() main_layout.addWidget(self._options_group_box, 0, 0) main_layout.addWidget(self._button_box, 1, 0) main_layout.addWidget(self._view, 2, 0) main_layout.setSizeConstraint(QLayout.SetMinimumSize) self._main_layout = main_layout self.setLayout(self._main_layout) self._type_changed() self.setWindowTitle('Train Model')
def __init__(self): super().__init__() self.line_edit = QLineEdit() self.layout = QGridLayout(self) self.layout.addWidget(self.line_edit)
def __init__(self): QWidget.__init__(self) self.setMinimumSize(800, 600) self.donuts = [] self.chart_view = QChartView() self.chart_view.setRenderHint(QPainter.Antialiasing) self.chart = self.chart_view.chart() self.chart.legend().setVisible(False) self.chart.setTitle("Nested donuts demo") self.chart.setAnimationOptions(QChart.AllAnimations) self.min_size = 0.1 self.max_size = 0.9 self.donut_count = 5 self.setup_donuts() # create main layout self.main_layout = QGridLayout(self) self.main_layout.addWidget(self.chart_view, 1, 1) self.setLayout(self.main_layout) self.update_timer = QTimer(self) self.update_timer.timeout.connect(self.update_rotation) self.update_timer.start(1250)
class Board(QWidget): # pylint: disable=R0903 """The board widge""" def __init__(self, board_size: int = 4) -> None: """ Creates a 2048 board Args: board (Table[Table[int]]) = The 2048 game board Returns (QtWidgets.QWidget) = The game board as qt widget """ super().__init__() self.board = QGridLayout(self) self.board_size = 100 self._font_size = round(self.board_size / 5) self._default_bg_color = COLORSET_2[0] self._default_color = "#" + contrasting_text_color( self._default_bg_color[1:]) self.__create_cells(board_size) @Slot(MoveResult) def update_cells(self, move_result: MoveResult) -> None: """update the cells with the new board data""" for y_position, row in enumerate(move_result["board"]): for x_position, value in enumerate(row): cell = self.board.itemAtPosition(y_position, x_position).widget() self._update_cell(cell, value) def _update_cell(self, cell: QWidget, value: int): cell_label = cell.findChild(QLabel) cell_text = str(value).strip("0") cell_label.setText(cell_text) bg_color = COLORSET_2[ value] if value in COLORSET_2 else self._default_bg_color font_color = "#" + contrasting_text_color(bg_color[1:]) cell.setStyleSheet(f"background-color:{bg_color}; color:{font_color};") def __create_cells(self, board_size: int): size_range = range(board_size) for y_position in size_range: for x_position in size_range: cell = self.__create_cell() self.board.addWidget(cell, y_position, x_position, Qt.AlignCenter) def __create_cell(self) -> QWidget: cell_label = QLabel() cell_label.setAlignment(Qt.AlignCenter) cell_label.setStyleSheet("QLabel {font-size: " + str(self._font_size) + "px;}") cell_content = QHBoxLayout() cell_content.addWidget(cell_label) cell = QWidget() cell.setLayout(cell_content) cell.setStyleSheet( f"background-color:{self._default_bg_color}; color:{self._default_color};" ) cell.setFixedSize(self.board_size, self.board_size) return cell
def initUI(self): """ Init widget """ vbox = QVBoxLayout() vbox.addSpacing(2) # Head hbox = QHBoxLayout() hbox.addSpacing(3) # Create button which returns to the menu self._buttonBack = QPushButton(QIcon(PATH_IMAGE_BACK_NEDDLE), "", self) self._buttonBack.clicked.connect(self.signalController.back2menu) hbox.addWidget(self._buttonBack, 0, QtCore.Qt.AlignLeft | QtCore.Qt.AlignTop) # Header of this widget self._headWidget = QLabel("Add new figure") hbox.addWidget(self._headWidget, 1, QtCore.Qt.AlignCenter | QtCore.Qt.AlignTop) # Create button to choose color of new figure self._pickColorButton = QPushButton('Pick color') self._pickColorButton.clicked.connect(self.update_color_name) hbox.addWidget(self._pickColorButton, 2, QtCore.Qt.AlignRight | QtCore.Qt.AlignTop) # Create button to save figure self._saveFigureButton = QPushButton('Save') self._saveFigureButton.clicked.connect(self.save_figure_shape) hbox.addWidget(self._saveFigureButton, 2, QtCore.Qt.AlignRight | QtCore.Qt.AlignTop) vbox.addLayout(hbox, 0) grid = QGridLayout() self._sheet = [] self._choosenFigureList = [] self._proposedFiguresList = [] self._savedColor = 'black' for i in range(self.MAX_X): row = [] for j in range(self.MAX_Y): single = DrawBlockQFrame(self.signalPressedFrames, j, i) if i == 3 and j == 3: # Button in the center - must be with blur color # Save figure - possible only if blue button also clicked # This magic stuff are made in order to simplify saving figure single.COLOR_DEFAULT = 'blue' single.default_color() self.centerSheet = single row.append(single) grid.addWidget(single, i, j) self._sheet.append(row) vbox.addLayout(grid, 1) self.setLayout(vbox) self.setWindowTitle("Add new figure")
def __init__(self, values=None): super().__init__() vbox = QVBoxLayout(self) self.grid = QGridLayout() self.grid.setColumnStretch(1, 1) vbox.addLayout(self.grid) vbox.addStretch(1) self.set_values(values)
def _setup_invalid_gui(self): not_available = QLabel('Data access unavailable') not_available.alignment = Qt.AlignCenter not_available.enabled = False layout = QGridLayout(self) layout.add_widget(not_available) QMessageBox.warning(self, 'Data access unavailable', 'Data access unavailable.')
def initLayout(self): self.layout = QGridLayout() self.window = QWidget() self.window.setLayout(self.layout) # set header(logo) layout self.layoutH = QLabel() self.layoutH.setObjectName('header') self.logo = QPixmap('img/logo_w.png') self.layoutH.setPixmap(self.logo) self.layoutH.setFixedHeight(100) self.layoutH.setAlignment(Qt.AlignCenter) # set tap list item layout self.layout0 = QLabel() self.layout0.setObjectName('itme_0') self.layout4 = QLabel() self.layout4.setObjectName('itme_4') self.layout1 = QLabel() self.layout1.setObjectName('itme_1') self.layout5 = QLabel() self.layout5.setObjectName('itme_5') self.layout2 = QLabel() self.layout2.setObjectName('itme_2') self.layout6 = QLabel() self.layout6.setObjectName('itme_6') self.layout3 = QLabel() self.layout3.setObjectName('itme_3') self.layout7 = QLabel() self.layout7.setObjectName('itme_7') self.layout8 = QLabel() # splitter line self.layout8.setObjectName('splitter') self.layout8.setFixedWidth(3) # set footer(message bar) layout self.layoutF = QLabel() self.layoutF.setObjectName('footer') self.layoutF.setFixedHeight(120) self.layoutF.setAlignment(Qt.AlignCenter) if self.side==0: notic_text = self.notic_0 else: notic_text = self.notic_1 self.layoutF.setText(notic_text) # gridding self.layout.addWidget(self.layoutH, 0, 0, 1, 3) self.layout.addWidget(self.layout0, 1, 0) self.layout.addWidget(self.layout4, 1, 2) self.layout.addWidget(self.layout1, 2, 0) self.layout.addWidget(self.layout5, 2, 2) self.layout.addWidget(self.layout2, 3, 0) self.layout.addWidget(self.layout6, 3, 2) self.layout.addWidget(self.layout3, 4, 0) self.layout.addWidget(self.layout7, 4, 2) self.layout.addWidget(self.layout8, 1, 1, 4, 1) self.layout.addWidget(self.layoutF, 5, 0, 1, 3) self.setCentralWidget(self.window)
def setupUi(self, CategoryReportWidget): if not CategoryReportWidget.objectName(): CategoryReportWidget.setObjectName(u"CategoryReportWidget") CategoryReportWidget.resize(636, 345) self.verticalLayout = QVBoxLayout(CategoryReportWidget) self.verticalLayout.setSpacing(0) self.verticalLayout.setObjectName(u"verticalLayout") self.verticalLayout.setContentsMargins(0, 0, 0, 0) self.ReportParamsFrame = QFrame(CategoryReportWidget) self.ReportParamsFrame.setObjectName(u"ReportParamsFrame") self.ReportParamsFrame.setFrameShape(QFrame.Panel) self.ReportParamsFrame.setFrameShadow(QFrame.Sunken) self.gridLayout = QGridLayout(self.ReportParamsFrame) self.gridLayout.setSpacing(6) self.gridLayout.setObjectName(u"gridLayout") self.gridLayout.setContentsMargins(2, 2, 2, 2) self.ReportFrameSpacer = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) self.gridLayout.addItem(self.ReportFrameSpacer, 0, 3, 1, 1) self.ReportRange = DateRangeSelector(self.ReportParamsFrame) self.ReportRange.setObjectName(u"ReportRange") self.ReportRange.setProperty("ItemsList", u"QTD;YTD;this_year;last_year") self.gridLayout.addWidget(self.ReportRange, 0, 0, 1, 1) self.ReportCategoryLbl = QLabel(self.ReportParamsFrame) self.ReportCategoryLbl.setObjectName(u"ReportCategoryLbl") self.gridLayout.addWidget(self.ReportCategoryLbl, 0, 1, 1, 1) self.ReportCategoryEdit = CategorySelector(self.ReportParamsFrame) self.ReportCategoryEdit.setObjectName(u"ReportCategoryEdit") self.gridLayout.addWidget(self.ReportCategoryEdit, 0, 2, 1, 1) self.verticalLayout.addWidget(self.ReportParamsFrame) self.ReportTableView = QTableView(CategoryReportWidget) self.ReportTableView.setObjectName(u"ReportTableView") self.ReportTableView.setFrameShape(QFrame.Panel) self.ReportTableView.setFrameShadow(QFrame.Sunken) self.ReportTableView.setEditTriggers(QAbstractItemView.NoEditTriggers) self.ReportTableView.setAlternatingRowColors(True) self.ReportTableView.setGridStyle(Qt.DotLine) self.ReportTableView.setWordWrap(False) self.ReportTableView.verticalHeader().setVisible(False) self.ReportTableView.verticalHeader().setMinimumSectionSize(20) self.ReportTableView.verticalHeader().setDefaultSectionSize(20) self.verticalLayout.addWidget(self.ReportTableView) self.retranslateUi(CategoryReportWidget) QMetaObject.connectSlotsByName(CategoryReportWidget)
def __init__(self): super(Window, self).__init__() self.tabs = QTabWidget(self) # self.tabs.setTabsClosable(True) layout = QGridLayout(self) layout.addWidget(self.tabs, 0, 0, 1, 2) self.tab1 = Homepage() self.tabs.addTab(self.tab1, "Home") self.tab2 = savedpage() self.tabs.addTab(self.tab2, "Saved")
def __init__(self, result, parent=None): QToolButton.__init__(self) self.setParent(parent) self.result = result self.setContentsMargins(0, 0, 0, 0) # Button formatting self.setFixedSize(200, 240) self.setAutoRaise(True) # TODO: change with global themes self.setStyleSheet( "QToolButton:pressed { background-color: rgba(255, 255, 255, 0.1)} QToolButton { background-color: rgba(255, 255, 255, 0.05); border: 1px solid white; color: white}" ) # Set layout settings self.layout = QGridLayout() self.layout.setContentsMargins(0, 0, 0, 0) self.layout.setSpacing(0) if result["type"] == "artists": # Artist image self.formattedImage(self.window().artistPath + result["artist_path"]) self.formattedLabel(result["artist_name"]) # Favourite button self.favouriteButton = QToolButton() self.favouriteButton.setStyleSheet( "QToolButton:pressed { background-color: rgb(31, 41, 75)} QToolButton { background-color: rgb(25, 33, 60);}" ) # Toggle Favourite Icon depending on DB if self.result["favourited"] == 0: self.favouriteButton.isFavourited = False self.favouriteButton.setIcon(QIcon("icons/star.svg")) else: self.favouriteButton.isFavourited = True self.favouriteButton.setIcon( QIcon("icons/star-yellow.svg")) self.favouriteButton.setIconSize(QSize(30, 30)) self.favouriteButton.setFixedSize(70, 70) self.favouriteButton.clicked.connect(self.clickedFavourite) self.layout.addWidget(self.favouriteButton, 0, 0, Qt.AlignRight | Qt.AlignTop) self.clicked.connect(self.clickedArtist) elif result["type"] == "languages": # Language image self.formattedImage(self.window().languagePath + result["language_path"]) self.formattedLabel(result["language_name"]) self.clicked.connect(self.clickedLanguage) self.setLayout(self.layout)
def __init__(self): super().__init__() self.principal = QGridLayout() self.label = QLabel("Lenguajes") self.principal.addWidget(self.label, 0, 0, 1, 1) self.input = QLineEdit() self.principal.addWidget(self.input, 0, 1, 1, 1) self.button1 = QPushButton("Submit") self.principal.addWidget(self.button1, 0, 2, 1, 1) self.button1.clicked.connect(self.texto) self.setLayout(self.principal)
def initUI(self): # setup UI self.setWindowTitle("Taplist - Let's Beer Brewpub") # get screen width and height self.screen = QGuiApplication.primaryScreen().geometry() self.width = self.screen.width() self.height = self.screen.height() # set screen size self.resize(1920, 1080) # self.setMinimumWidth(800) self.layout = QGridLayout()
def __init__(self, parent=None): super().__init__(parent) self.icons = Icons() grid = QGridLayout() base = QWidget() base.setLayout(grid) but = QPushButton('OK') layout = QVBoxLayout() layout.addWidget(base) layout.addWidget(but) self.setLayout(layout) # click but.clicked.connect(self.closeEvent) row = 0 lab_app_name = QLabel(parent.APP_NAME) lab_app_name.setStyleSheet("QLabel {font-size:14pt; padding: 0 2px;}") grid.addWidget(lab_app_name, row, 0, 1, 2) row += 1 lab_app_ver1 = QLabel('VERSION') lab_app_ver1.setStyleSheet("QLabel {font-size:10pt; padding: 0 2px;}") lab_app_ver2 = QLabel(parent.APP_VER) lab_app_ver2.setStyleSheet("QLabel {font-size:10pt; padding: 0 2px;}") grid.addWidget(lab_app_ver1, row, 0) grid.addWidget(lab_app_ver2, row, 1) row += 1 lab_app_copyright1 = QLabel('COPYRIGHT') lab_app_copyright1.setStyleSheet( "QLabel {font-size:10pt; padding: 0 2px;}") lab_app_copyright2 = QLabel(parent.APP_COPYRIGHT) lab_app_copyright2.setStyleSheet( "QLabel {font-size:10pt; padding: 0 2px;}") grid.addWidget(lab_app_copyright1, row, 0) grid.addWidget(lab_app_copyright2, row, 1) row += 1 lab_app_license1 = QLabel('LICENSE') lab_app_license1.setStyleSheet( "QLabel {font-size:10pt; padding: 0 2px;}") lab_app_license2 = QLabel(parent.APP_LICENSE) lab_app_license2.setStyleSheet( "QLabel {font-size:10pt; padding: 0 2px;}") lab_app_license2.setOpenExternalLinks(True) grid.addWidget(lab_app_license1, row, 0) grid.addWidget(lab_app_license2, row, 1) row += 1 self.setWindowIcon(QIcon(self.icons.INFO)) self.show()
def __init__(self): super().__init__() self.setWindowTitle("CS:GO Bind Generator") self.setFixedSize(1700, 500) self.centralWidget = QWidget(self) self.setCentralWidget(self.centralWidget) self.layout = QGridLayout(self.centralWidget) self.centralWidget.setLayout(self.layout) self.create_GUI()
def __init__(self, title, parent): super().__init__(title, parent) self.__layout = QGridLayout(self) self.setLayout(self.__layout) self.combobox_category = ComboboxCategory(self) self.__layout.addWidget(self.combobox_category, 0, 0) self.combobox_muscles = ComboboxMuscles(self) self.__layout.addWidget(self.combobox_muscles, 0, 1) self.combobox_difficulty = ComboboxDifficulty(self) self.__layout.addWidget(self.combobox_difficulty, 0, 2) self.table_available_exercises = QTableWidget(self) self.__layout.addWidget(self.table_available_exercises, 1, 0, 1, 3)
def __init__(self, parent, settings=None, **kwargs): super().__init__(parent, **kwargs) self.setObjectName("settings_widget") self.group_box = QGroupBox("Настройки") self.layout = QGridLayout() self.layout.setObjectName('settings_layout') self.layout.setColumnStretch(0, 6) self.layout.setColumnStretch(1, 1) self.group_box.setLayout(self.layout) self.widgets = [] self.change_settings(settings)
def __init__(self, parent: Optional[QWidget] = None, size: QSize = QSize(600, 600), image: Optional[QImage] = None): super(CLusterPreviewWindow, self).__init__(parent) self.setWindowFlags(Qt.Window | Qt.FramelessWindowHint) self.resize(size) self.imageLabel = QLabel("Cluster Preview", self) self.imageLabel.setAlignment(Qt.AlignCenter) layout = QGridLayout(self) layout.addWidget(self.imageLabel) if image is not None: self.__update_cluster_preview(QPixmap.fromImage(image))
def user_map(self): """Slot to show user map from bgg to ludopedia""" user_map_dialog = QDialog(self) user_map_dialog.setModal(True) bgg_to_ludo = self.get_bgg_to_ludo_users() user_list = [f'{key} -> {value}' for key, value in bgg_to_ludo.items()] list_widget = QListWidget(user_map_dialog) list_widget.addItems(user_list) list_widget.setResizeMode(QListView.Adjust) list_widget.sortItems() grid_layout = QGridLayout(user_map_dialog) grid_layout.addWidget(list_widget, 1, 1) user_map_dialog.resize(400, 400) user_map_dialog.show()
class BaseUI(QWidget): def __init__(self, parent=None): super(BaseUI, self).__init__(parent) self.main_layout = None self.setup_ui() def init_layout(self): self.main_layout = QGridLayout() self.main_layout.setHorizontalSpacing(4) self.main_layout.setVerticalSpacing(4) self.main_layout.setContentsMargins(10, 10, 10, 10) self.main_layout.setAlignment(QtCore.Qt.AlignTop | QtCore.Qt.AlignLeft) self.setLayout(self.main_layout) def setup_ui(self): self.init_layout() def check_is_ready(self): if not self.isEnabled() or not self.isVisible(): return False output_dir = Globals.config.get(Globals.UserData.output_dir) if not (os.path.exists(output_dir) and os.path.isdir(output_dir)): Message.show_error("无效的输出目录!", self) return False # save_as_path = os.path.join(output_dir, Globals.config.get(Globals.UserData.font_save_name) + ".png") # if os.path.exists(save_as_path): # Message.show_error("已存在同名文件!", self) # return False return True
def init_ui(self): self.setFixedSize(400, 180) self.move2center() content = ([] if 'darwin' not in sys.platform else [ 'Press Cmd + r to speed up(refresh)', 'Press Cmd + , to open settings', 'Press Cmd + q to quit', ]) content.append(f'Version {VERSION}') grid = QGridLayout() grid.setSpacing(10) a_tag = ''' <a href="https://ukiyoesoragoto.com" style="color:Black"> By UkiyoESoragoto (๑•̀ㅂ•́)و✧ </a> ''' lab = QLabel(a_tag) lab.setOpenExternalLinks(True) grid.addWidget(lab, 0, 0) for index, line in enumerate(content): grid.addWidget(QLabel(line), index + 1, 0) self.setLayout(grid) self.setWindowTitle('About')