def flags(self, index): if not index.isValid(): return Qt.NoItemFlags # Cannot edit name, per col if index.column() in (NAME_COL, PER_COL): return Qt.ItemFlags(QAbstractTableModel.flags(self, index) | ~Qt.ItemIsEditable) return Qt.ItemFlags(QAbstractTableModel.flags(self, index) | Qt.ItemIsEditable)
def testCtorWithCreatedEnums(self): '''A simple case of QPen creation using created enums.''' width = 0 style = Qt.PenStyle(0) cap = Qt.PenCapStyle(0) join = Qt.PenJoinStyle(0) pen = QPen(Qt.blue, width, style, cap, join)
def init_config(self): self.mediaPathValueLabel.setText(config.load().get('save_path')) self.mediaSaveOptionCheckBox.setCheckState( Qt.CheckState(config.load().get('media_save_option', 0))) self.insecureCheckBox.setCheckState( Qt.CheckState(config.load().get('insecure', 0))) self.downlaodCaptionheckBox.setCheckState( Qt.CheckState(config.load().get('caption', 0))) self.mergeCheckBox.setCheckState( Qt.CheckState(config.load().get('merge', 0)))
def flags(self, index): if not index.isValid(): return Qt.NoItemFlags if index.column() in (Req.attr_to_col['min'], Req.attr_to_col['max'], Req.attr_to_col['target']): return Qt.ItemFlags( QAbstractTableModel.flags(self, index) | Qt.ItemIsEditable) else: return Qt.ItemFlags( QAbstractTableModel.flags(self, index) | ~Qt.ItemIsEditable)
def penChanged(self): width = self.penWidthSpinBox.value() style = Qt.PenStyle( self.penStyleComboBox.itemData( self.penStyleComboBox.currentIndex(), IdRole)) cap = Qt.PenCapStyle( self.penCapComboBox.itemData(self.penCapComboBox.currentIndex(), IdRole)) join = Qt.PenJoinStyle( self.penJoinComboBox.itemData(self.penJoinComboBox.currentIndex(), IdRole)) self.renderArea.setPen(QPen(Qt.blue, width, style, cap, join))
def flags(self, index): if not index.isValid(): return Qt.ItemIsEnabled elif index.column() in (MASK, HIGHLIGHT): return Qt.ItemFlags(Qt.ItemIsEnabled | Qt.ItemIsUserCheckable | Qt.ItemIsSelectable) elif index.column() in (NAME, COLORLABEL): return Qt.ItemFlags(Qt.ItemIsEnabled | Qt.ItemIsEditable | Qt.ItemIsSelectable) elif index.column() == COLOR: return Qt.ItemFlags(Qt.ItemIsEnabled | Qt.ItemIsEditable) else: return Qt.ItemFlags(Qt.ItemIsEnabled | Qt.ItemIsSelectable)
def __init__(self, parent: t.Optional[qw.QWidget] = None, f: qq.WindowFlags = qq.WindowFlags()): super().__init__('Тематика', 'Определить тематику', parent, f) # [other] model = TextFilesModel() udpipe = FilePath() # [widgets] optimal_chb = qw.QCheckBox('Согласованность тем') # [layout] vbox = qw.QVBoxLayout() vbox.addWidget(optimal_chb) vbox.addStretch(1) self.setLayout(vbox) # [fields] self._model = model self._udpipe = udpipe self._optimal_chk = optimal_chb
def __init__(self, taskManagerWdg): super(TreeTaskList, self).__init__(taskManagerWdg) self.taskManagerWdg = taskManagerWdg self.taskData = [] self.allUsers = [] self.pipelineData = [] self.shotFilter = "" self.noUser = "******" self.treeIndexItem = [] self.setSortingEnabled(True) self.sortByColumn(0, Qt.SortOrder(0)) self.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.Expanding) self.setSelectionMode(QAbstractItemView.ExtendedSelection) self.setColumnCount(3) self.setColumnHidden(2, True) self.setHeaderLabels(["Task", "Status", "User"]) self.setColumnWidth(0, 200) self.setColumnWidth(1, 200) self.setSortingEnabled(True) self.setAlternatingRowColors(1) self.setContextMenu() # ======================= CONNECTS =============================== self.setContextMenuPolicy(Qt.CustomContextMenu) self.customContextMenuRequested.connect(self.callContextMenu) # ======================= UTILS =============================== self.itemUtils = itemUtils.ItemUtils(self)
def brushChanged(self): style = Qt.BrushStyle( self.brushStyleComboBox.itemData( self.brushStyleComboBox.currentIndex(), IdRole)) if style == Qt.LinearGradientPattern: linearGradient = QLinearGradient(0, 0, 100, 100) linearGradient.setColorAt(0.0, Qt.white) linearGradient.setColorAt(0.2, Qt.green) linearGradient.setColorAt(1.0, Qt.black) self.renderArea.setBrush(QBrush(linearGradient)) elif style == Qt.RadialGradientPattern: radialGradient = QRadialGradient(50, 50, 50, 70, 70) radialGradient.setColorAt(0.0, Qt.white) radialGradient.setColorAt(0.2, Qt.green) radialGradient.setColorAt(1.0, Qt.black) self.renderArea.setBrush(QBrush(radialGradient)) elif style == Qt.ConicalGradientPattern: conicalGradient = QConicalGradient(50, 50, 150) conicalGradient.setColorAt(0.0, Qt.white) conicalGradient.setColorAt(0.2, Qt.green) conicalGradient.setColorAt(1.0, Qt.black) self.renderArea.setBrush(QBrush(conicalGradient)) elif style == Qt.TexturePattern: self.renderArea.setBrush(QBrush(QPixmap(':/images/brick.png'))) else: self.renderArea.setBrush(QBrush(Qt.green, style))
def __init__(self, title, canvas_width, canvas_height, control_width=None): # type: (str, int, int, Optional[int]) -> None super().__init__() # Basic window layout - title, colour, sizing self.setWindowTitle(title) self.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed) palette = self.palette() palette.setColor(palette.Window, get_colour('white')) self.setPalette(palette) # Widgets layout self.__main_layout = QHBoxLayout() self.__main_layout.setSizeConstraint(QHBoxLayout.SetFixedSize) self.__main_layout.setSpacing(DEFAULT_FRAME_MARGIN.left()) self.__main_layout.setContentsMargins(DEFAULT_FRAME_MARGIN) self.__controls = ControlPanelWidget(self, canvas_height, control_width) self.__drawing_area = DrawingAreaContainer(self, canvas_width, canvas_height) total_height = self.__drawing_area.height() + DEFAULT_FRAME_MARGIN.top() * 2 self.setFixedHeight(total_height) self.__main_layout.addWidget(self.__controls, alignment=Qt.Alignment(Qt.AlignLeft | Qt.AlignTop)) self.__main_layout.addWidget(self.__drawing_area, alignment=Qt.AlignCenter) self.setLayout(self.__main_layout) # Setup for key handling self.setFocusProxy(self.__drawing_area.canvas) self.setFocusPolicy(Qt.StrongFocus) self.__drawing_area.canvas.setFocus()
def _render_gui(self): self.getConfig() box = QGridLayout() img_banner = QLabel() if os.path.isfile(self.banner): img = QtGui.QPixmap(self.banner) img_banner.setPixmap(img) img_banner.setAlignment(Qt.AlignCenter) img_banner.setObjectName("banner") box.addWidget(img_banner, 0, 0, 1, 2) self.lst_options = QListWidget() self.stk_widget = QStackedWidget() idx = 0 if len(self.stacks) > 2: l_panel = self._left_panel() box.addWidget(l_panel, 1, 0, 1, 1, Qt.Alignment(1) | Qt.AlignTop) # self.stk_widget.setCurrentIndex(0) else: idx = 1 # self.stk_widget.setCurrentIndex(1) r_panel = self._right_panel() self.stk_widget.setCurrentIndex(idx) #self.gotoStack(idx,"") box.addWidget(r_panel, 1, 1, 1, 1) self.setLayout(box) self.show()
def __init__(self): QMainWindow.__init__(self) self.ui = Ui_CloseWindow() self.ui.setupUi(self) flag = Qt.WindowFlags(Qt.WindowMinimizeButtonHint) self.setWindowFlags(flag)
def __init__(self, parent: t.Optional[qw.QWidget] = None, f: qq.WindowFlags = qq.WindowFlags()): super().__init__(parent, f) # widget tabs = qw.QTabWidget() note_btn = NoteButton(ns.global_server) button = qw.QPushButton(style.icons.play_circle, 'null') # connect tabs.currentChanged.connect(self._on_tab_changed) button.clicked.connect(self._on_button_clicked) # layout hbox = qw.QHBoxLayout() hbox.addWidget(note_btn, 1) hbox.addWidget(button, 0, qq.AlignRight) vbox = qw.QVBoxLayout() vbox.setMargin(0) vbox.addWidget(tabs, 1) vbox.addLayout(hbox) self.setLayout(vbox) # field self._tabs = tabs self._button = button
def buttonsOrientationChanged(self, index): self.mainLayout.setSizeConstraint(QLayout.SetNoConstraint) self.setMinimumSize(0, 0) orientation = Qt.Orientation(int(self.buttonsOrientationComboBox.itemData(index))) if orientation == self.buttonBox.orientation(): return self.mainLayout.removeWidget(self.buttonBox) spacing = self.mainLayout.spacing() oldSizeHint = self.buttonBox.sizeHint() + QSize(spacing, spacing) self.buttonBox.setOrientation(orientation) newSizeHint = self.buttonBox.sizeHint() + QSize(spacing, spacing) if orientation == Qt.Horizontal: self.mainLayout.addWidget(self.buttonBox, 2, 0) self.resize(self.size() + QSize(-oldSizeHint.width(), newSizeHint.height())) else: self.mainLayout.addWidget(self.buttonBox, 0, 3, 2, 1) self.resize(self.size() + QSize(newSizeHint.width(), -oldSizeHint.height())) self.mainLayout.setSizeConstraint(QLayout.SetDefaultConstraint)
def __init__(self, files: t.List[pl.Path], udpipe: pl.Path, optimal_topics: bool, parent: t.Optional[qw.QWidget] = None, f: qq.WindowFlags = qq.WindowFlags()): super().__init__(parent, f) # other model = TopicDefinitionModel() thread = TopicsDefinitionThread(files, udpipe, optimal_topics) # widget webview = qweb.QWebEngineView() frame = qw.QFrame() frame.setFrameShape(qw.QFrame.StyledPanel) table_tv = qw.QTableView() table_tv.setModel(model) splitter = qw.QSplitter(qq.Horizontal) splitter.addWidget(frame) splitter.addWidget(table_tv) splitter.setOpaqueResize(False) splitter.setSizes([999999, 999999]) # connect thread.process_finished.connect(self._on_process_finished) thread.process_error.connect(self._on_process_error) webview.loadStarted.connect(self._on_load_started) webview.loadProgress.connect(self._on_load_progress) webview.loadFinished.connect(self._on_load_finished) # layout wv_vbox = qw.QVBoxLayout() wv_vbox.setMargin(0) wv_vbox.addWidget(webview) frame.setLayout(wv_vbox) hbox = qw.QHBoxLayout() hbox.addWidget(splitter) self.content_layout = hbox # fields self._model = model self._thread = thread self._webview = webview # setup self.setWindowTitle('Определение тематики') self.progress_bar.setRange(0, 0) self._thread.start()
def __init__(self, parent=None): super(DonutBreakdownChart, self).__init__(QtCharts.QChart.ChartTypeCartesian, parent, Qt.WindowFlags()) self.main_series = QtCharts.QPieSeries() self.main_series.setPieSize(0.7) self.addSeries(self.main_series)
def __init__(self, parent=None, flags=Qt.WindowFlags()): super(MainWindow, self).__init__(parent, flags) self.dayWidth = 70 self.ui = Ui_MainWindow() self.ui.setupUi(self) self.initModel() self.initActions() self.initItemDelegate() self.initGrid() leftView = self.ui.ganttView.leftView() leftView.setColumnHidden(1, True) leftView.setColumnHidden(2, True) leftView.setColumnHidden(3, True) leftView.setColumnHidden(4, True) leftView.setColumnHidden(5, True) leftView.header().setStretchLastSection(True) self.ui.ganttView.leftView().customContextMenuRequested.connect( self.showContextMenu) self.ui.ganttView.selectionModel().selectionChanged.connect( self.enableActions) self.ui.ganttView.graphicsView().clicked.connect(self.slotClicked) self.ui.ganttView.graphicsView().qrealClicked.connect( self.slotDoubleClicked)
def printpreviewDialog(self): printer = QPrinter(QPrinter.HighResolution) previewDialog = QPrintPreviewDialog(printer, parent=None, flags=Qt.WindowFlags()) previewDialog.paintRequested.connect(self.printImage) previewDialog.exec_()
def __init__(self, model, parent=None, f=Qt.WindowFlags()): super(EntryDialog, self).__init__(parent, f) self.indexList = [] self.ui = Ui_EntryDialog() self.ui.setupUi(self) self.model = model self.init()
def updateMouseEvent(event): # Handles one and two button mice CMD-click and Control-click events in # order to make it possible to right click and middle click with those mice. if cmds.about(mac=True): numMouseButtons = cmds.mouse(mouseButtonTrackingStatus=True) if numMouseButtons == 1: if event.modifiers() & Qt.MetaModifier: return QMouseEvent(event.type(), event.localPos(), event.windowPos(), event.screenPos(), Qt.RightButton, event.buttons(), event.modifiers() & ~Qt.MetaModifier, event.source()) elif int(event.buttons()) & int( Qt.LeftButton) and event.modifiers() & Qt.ControlModifier: return QMouseEvent( event.type(), event.localPos(), event.windowPos(), event.screenPos(), event.button(), Qt.MouseButtons( int(event.buttons()) | Qt.MiddleButton & ~Qt.LeftButton), event.modifiers() & ~Qt.ControlModifier, event.source()) elif event.modifiers() & Qt.ControlModifier: return QMouseEvent(event.type(), event.localPos(), event.windowPos(), event.screenPos(), Qt.MiddleButton, event.buttons(), event.modifiers() & ~Qt.ControlModifier, event.source()) elif numMouseButtons == 2: if event.button( ) == Qt.LeftButton and event.modifiers() & Qt.ControlModifier: return QMouseEvent(event.type(), event.localPos(), event.windowPos(), event.screenPos(), Qt.MiddleButton, event.buttons(), event.modifiers() & ~Qt.ControlModifier, event.source()) elif int(event.buttons()) & int( Qt.LeftButton) and event.modifiers() & Qt.ControlModifier: return QMouseEvent( event.type(), event.localPos(), event.windowPos(), event.screenPos(), event.button(), Qt.MouseButtons( int(event.buttons()) | Qt.MiddleButton & ~Qt.LeftButton), event.modifiers() & ~Qt.ControlModifier, event.source()) return event
def testEqual(self): '''QFlags == operator''' flags = Qt.Window flags |= Qt.WindowMinimizeButtonHint flag_type = (flags & Qt.WindowType_Mask) self.assertEqual(flag_type, Qt.Window) self.assertEqual(Qt.KeyboardModifiers(Qt.ControlModifier), Qt.ControlModifier)
def __init__(self, name: str, action_text: str, parent: t.Optional[qw.QWidget] = None, f: qq.WindowFlags = qq.WindowFlags()): super().__init__(parent, f) # [field] self._name = name self._act_text = action_text
def flags(self, index): if not index.isValid(): return Qt.ItemIsEnabled col = index.column() if col == 0: return Qt.ItemIsEnabled return Qt.ItemFlags( QAbstractTableModel.flags(self, index) | Qt.ItemIsEditable)
def __init__(self, view_height): super(NavigationPyQt, self).__init__() self.camera = dfm2.gl.Camera(view_height) self.mouse_x = 0.0 self.mouse_y = 0.0 self.mouse_pre_x = 0.0 self.mouse_pre_y = 0.0 self.button = Qt.MouseButton() self.modifiers = None
def testIOr(self): '''QFlags |= (ior) operator''' flag = Qt.WindowFlags() self.assertTrue(Qt.Widget == 0) self.assertFalse(flag & Qt.Widget) result = flag & Qt.Widget self.assertTrue(result == 0) flag |= Qt.WindowMinimizeButtonHint self.assertTrue(flag & Qt.WindowMinimizeButtonHint)
def flags(self, index): """ Set the item flags at the given index. Seems like we're implementing this function just to see how it's done, as we manually adjust each tableView to have NoEditTriggers. """ if not index.isValid(): return Qt.ItemIsEnabled return Qt.ItemFlags(QAbstractTableModel.flags(self, index) | Qt.ItemIsEditable)
def __init__(self, parent: t.Optional[qw.QWidget] = None, f: qq.WindowFlags = qq.WindowFlags()): super().__init__(parent, f) # setup self.setMinimumHeight(1) self.setFrameShape(qw.QFrame.StyledPanel)
def __init__(self, nltk: pl.Path, udpipe: pl.Path, text: pl.Path, rus: bool, parent: t.Optional[qw.QWidget] = None, f: qq.WindowFlags = qq.WindowFlags()): super().__init__(parent, f) # other model = MorphologyModel() thread = MorphSyntaxThread(nltk, udpipe, text, rus) # widget morph_tv = qw.QTableView() morph_tv.setModel(model) morph_tv.setSelectionMode(morph_tv.SelectionMode.SingleSelection) syntax_wv = qweb.QWebEngineView() syntax_frame = qw.QFrame() syntax_frame.setFrameShape(qw.QFrame.StyledPanel) tabs = qw.QTabWidget() tabs.addTab(morph_tv, 'Морфология') tabs.addTab(syntax_frame, 'Синтаксис') # connect thread.process_finished.connect(self._on_process_finished) thread.process_error.connect(self._on_process_error) syntax_wv.loadProgress.connect(self._on_load_progress) syntax_wv.loadFinished.connect(self._on_load_finished) # layout wv_vbox = qw.QVBoxLayout() wv_vbox.setMargin(0) wv_vbox.addWidget(syntax_wv) syntax_frame.setLayout(wv_vbox) vbox = qw.QVBoxLayout() vbox.addWidget(tabs) self.content_layout = vbox # fields self._model = model self._thread = thread self._syntax_wv = syntax_wv self._morph_progress = 0 # setup self.setWindowTitle('Морфология и Синтаксис') self.progress_bar.setMaximum(200) # Morph and Syntax self._thread.start()
def __init__(self, udpipe: t.Optional[pl.Path], algorithms: AlgorithmList, reference: t.Optional[pl.Path], others: t.List[pl.Path], parent: t.Optional[qw.QWidget] = None, f: qq.WindowFlags = qq.WindowFlags()): super().__init__(parent, f) # other model = ComparisonProcessModel() model.set_source(algorithms, others) thread = ComparisionThread(udpipe, algorithms, reference, others, self) # widgets ref_lbl = qw.QLabel('Эталонный текст:') ref_value_lbl = qw.QLabel(str(reference)) result_tv = qw.QTableView() result_tv.setModel(model) result_tv.setSelectionMode(result_tv.SelectionMode.SingleSelection) # connect thread.prepared.connect(self._on_prepared) thread.process_started.connect(self._on_process_started) thread.process_finished.connect(self._on_process_finished) thread.process_error.connect(self._on_process_error) thread.finished.connect(self._on_finished) # layout ref_hbox = qw.QHBoxLayout() ref_hbox.addWidget(ref_lbl) ref_hbox.addWidget(ref_value_lbl, 1) vbox = qw.QVBoxLayout() vbox.addLayout(ref_hbox) vbox.addWidget(result_tv) self.content_layout = vbox # fields self._thread = thread self._model = model self._algorithms = algorithms self._others = others # setup self.setMinimumWidth(650) self.setWindowTitle('Сравнение') self.progress_bar.setFormat(' %v из %m') self._thread.start()
def findClicked(self): self.cs = Qt.CaseSensitivity() if self.cs == self.caseCheckBox.isChecked(): self.cs = Qt.CaseSensitivity else: self.cs = Qt.CaseInsensitive if self.backwardCheckBox.isChecked(): self.findPrevious(self.text, self.cs) else: self.findNext(self.text, self.cs)