diff options
Diffstat (limited to 'examples/widgets/widgets/charactermap/characterwidget.cpp')
-rw-r--r-- | examples/widgets/widgets/charactermap/characterwidget.cpp | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/examples/widgets/widgets/charactermap/characterwidget.cpp b/examples/widgets/widgets/charactermap/characterwidget.cpp index 07912da6ff..55d45501f1 100644 --- a/examples/widgets/widgets/charactermap/characterwidget.cpp +++ b/examples/widgets/widgets/charactermap/characterwidget.cpp @@ -54,11 +54,9 @@ //! [0] CharacterWidget::CharacterWidget(QWidget *parent) - : QWidget(parent) + : QWidget(parent), columns(16), lastKey(-1) { - squareSize = 24; - columns = 16; - lastKey = -1; + calculateSquareSize(); setMouseTracking(true); } //! [0] @@ -67,7 +65,7 @@ CharacterWidget::CharacterWidget(QWidget *parent) void CharacterWidget::updateFont(const QFont &font) { displayFont.setFamily(font.family()); - squareSize = qMax(24, QFontMetrics(displayFont).xHeight() * 3); + calculateSquareSize(); adjustSize(); update(); } @@ -77,7 +75,7 @@ void CharacterWidget::updateFont(const QFont &font) void CharacterWidget::updateSize(const QString &fontSize) { displayFont.setPointSize(fontSize.toInt()); - squareSize = qMax(24, QFontMetrics(displayFont).xHeight() * 3); + calculateSquareSize(); adjustSize(); update(); } @@ -89,7 +87,7 @@ void CharacterWidget::updateStyle(const QString &fontStyle) const QFont::StyleStrategy oldStrategy = displayFont.styleStrategy(); displayFont = fontDatabase.font(displayFont.family(), fontStyle, displayFont.pointSize()); displayFont.setStyleStrategy(oldStrategy); - squareSize = qMax(24, QFontMetrics(displayFont).xHeight() * 3); + calculateSquareSize(); adjustSize(); update(); } @@ -104,6 +102,11 @@ void CharacterWidget::updateFontMerging(bool enable) update(); } +void CharacterWidget::calculateSquareSize() +{ + squareSize = qMax(16, 4 + QFontMetrics(displayFont, this).height()); +} + //! [3] QSize CharacterWidget::sizeHint() const { |