def __init__(self, parser_result): QWidget.__init__(self) self._parser_result = parser_result layout = QHBoxLayout() layout.setContentsMargins(0, 0, 0, 0) layout.setSizeConstraint(QHBoxLayout.SetMinimumSize) self.table_widget = QTableWidget() self.table_widget.setSelectionMode(QAbstractItemView.NoSelection) self.table_widget.setRowCount(2) self.table_widget.setColumnCount(2) self.table_widget.horizontalHeader().setResizeMode(QHeaderView.Stretch) self.table_widget.setHorizontalHeaderLabels(["Dimension", "Choice"]) self.table_widget.verticalHeader().setVisible(False) self.table_widget.verticalHeader().setResizeMode(QHeaderView.Fixed) self.table_widget.verticalHeader().setDefaultSectionSize(20) sp_table = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Preferred) sp_table.setHorizontalStretch(1) self.table_widget.setSizePolicy(sp_table) layout.addWidget(self.table_widget) self.text_widget = QTextEdit() sp_text = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Preferred) sp_text.setHorizontalStretch(4) self.text_widget.setReadOnly(True) self.text_widget.setSizePolicy(sp_text) self.text_widget.setStyleSheet('font: 9pt "Courier";') self.text_widget.setText(self._parser_result.get_text()) layout.addWidget(self.text_widget) self.setLayout(layout) self._fill_table()
def createToolsButtons(self): buttonsFrame = QFrame() buttonsLayout = QHBoxLayout(buttonsFrame) buttonsLayout.setSizeConstraint(QLayout.SetDefaultConstraint) iconPath = filePath('icons/') self.penButton = QToolButton( self, icon=QIcon(iconPath + 'pen_w.png')) self.penButton.setToolTip('freehand drawing') self.penButton.clicked.connect(lambda: self.PaintArea.setTool('pen')) buttonsLayout.addWidget(self.penButton) self.lineButton = QToolButton( self, icon=QIcon(iconPath + 'line_w.png')) self.lineButton.setToolTip('draw lines') self.lineButton.clicked.connect(lambda: self.PaintArea.setTool('line')) buttonsLayout.addWidget(self.lineButton) self.rect = QToolButton( self, icon=QIcon(iconPath + 'rect_w.png')) self.rect.setToolTip('create rectangle') self.rect.clicked.connect(lambda: self.PaintArea.setTool('rect')) buttonsLayout.addWidget(self.rect) self.roundRect = QToolButton( self, icon=QIcon(iconPath + 'roundrect_w.png')) self.roundRect.setToolTip('create a round-corner rectanlge') self.roundRect.clicked.connect( lambda: self.PaintArea.setTool('roundRect')) buttonsLayout.addWidget(self.roundRect) self.circle = QToolButton( self, icon=QIcon(iconPath + 'ellipse_w.png')) self.circle.setToolTip('create circle') self.circle.clicked.connect(lambda: self.PaintArea.setTool('circle')) buttonsLayout.addWidget(self.circle) self.eraser = QToolButton( self, icon=QIcon(iconPath + 'eraser_w.png')) self.eraser.setToolTip('erase parts of the drawing') self.eraser.clicked.connect(lambda: self.PaintArea.setTool('eraser')) buttonsLayout.addWidget(self.eraser) self.mirror_w = QToolButton( self, icon=QIcon(iconPath + 'mirror-w_w.png')) self.mirror_w.setToolTip('vertical symmetric inversion') self.mirror_w.clicked.connect(self.PaintArea.mirror_w) buttonsLayout.addWidget(self.mirror_w) self.mirror_h = QToolButton( self, icon=QIcon(iconPath + 'mirror-h_w.png')) self.mirror_h.setToolTip('horizontal symmetric inversion') self.mirror_h.clicked.connect(self.PaintArea.mirror_h) buttonsLayout.addWidget(self.mirror_h) self.rotate = QToolButton( self, icon=QIcon(iconPath + 'rotate_w.png')) self.rotate.setToolTip('rotate') self.rotate.clicked.connect(self.PaintArea.rotate) buttonsLayout.addWidget(self.rotate) self.grid.addWidget(buttonsFrame, 0, 0, QtCore.Qt.AlignLeft)