def set_editor_font(self): font = self.get_current_font() fm = QFontMetrics(font) chars = tweaks['template_editor_tab_stop_width'] w = fm.averageCharWidth() * chars self.textbox.setTabStopDistance(w) self.source_code.setTabStopDistance(w) self.textbox.setFont(font) self.highlighter.initialize_formats() self.highlighter.rehighlight()
def __init__(self, title, msg='\u00a0', min=0, max=99, parent=None, cancelable=True, icon=None): QDialog.__init__(self, parent) if icon is None: self.l = l = QVBoxLayout(self) else: self.h = h = QHBoxLayout(self) self.icon = i = QLabel(self) if not isinstance(icon, QIcon): icon = QIcon(I(icon)) i.setPixmap(icon.pixmap(64)) h.addWidget(i, alignment=Qt.AlignmentFlag.AlignTop | Qt.AlignmentFlag.AlignHCenter) self.l = l = QVBoxLayout() h.addLayout(l) self.setWindowIcon(icon) self.title_label = t = QLabel(title) self.setWindowTitle(title) t.setStyleSheet('QLabel { font-weight: bold }'), t.setAlignment( Qt.AlignmentFlag.AlignCenter), t.setTextFormat( Qt.TextFormat.PlainText) l.addWidget(t) self.bar = b = QProgressBar(self) b.setMinimum(min), b.setMaximum(max), b.setValue(min) l.addWidget(b) self.message = m = QLabel(self) fm = QFontMetrics(self.font()) m.setAlignment(Qt.AlignmentFlag.AlignCenter), m.setMinimumWidth( fm.averageCharWidth() * 80), m.setTextFormat( Qt.TextFormat.PlainText) l.addWidget(m) self.msg = msg self.button_box = bb = QDialogButtonBox( QDialogButtonBox.StandardButton.Abort, self) bb.rejected.connect(self._canceled) l.addWidget(bb) self.setWindowModality(Qt.WindowModality.ApplicationModal) self.canceled = False if not cancelable: bb.setVisible(False) self.cancelable = cancelable self.resize(self.sizeHint())
def sizeHint(self): fm = QFontMetrics(self.font()) ans = QPlainTextEdit.sizeHint(self) ans.setWidth(fm.averageCharWidth() * 50) return ans
def sizeHint(self): fm = QFontMetrics(self.font()) return QSize(fm.averageCharWidth() * 120, 600)