Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qfontcombobox.h
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef QFONTCOMBOBOX_H
5#define QFONTCOMBOBOX_H
6
7#include <QtWidgets/qtwidgetsglobal.h>
8#include <QtWidgets/qcombobox.h>
9#include <QtGui/qfontdatabase.h>
10
12
13QT_BEGIN_NAMESPACE
14
15class QFontComboBoxPrivate;
16
17class Q_WIDGETS_EXPORT QFontComboBox : public QComboBox
18{
19 Q_OBJECT
20 Q_PROPERTY(QFontDatabase::WritingSystem writingSystem READ writingSystem WRITE setWritingSystem)
21 Q_PROPERTY(FontFilters fontFilters READ fontFilters WRITE setFontFilters)
22 Q_PROPERTY(QFont currentFont READ currentFont WRITE setCurrentFont NOTIFY currentFontChanged)
23
24public:
25 explicit QFontComboBox(QWidget *parent = nullptr);
26 ~QFontComboBox();
27
28 void setWritingSystem(QFontDatabase::WritingSystem);
29 QFontDatabase::WritingSystem writingSystem() const;
30
31 enum FontFilter {
32 AllFonts = 0,
33 ScalableFonts = 0x1,
34 NonScalableFonts = 0x2,
35 MonospacedFonts = 0x4,
36 ProportionalFonts = 0x8
37 };
38 Q_DECLARE_FLAGS(FontFilters, FontFilter)
39 Q_FLAG(FontFilters)
40
41 void setFontFilters(FontFilters filters);
42 FontFilters fontFilters() const;
43
44 QFont currentFont() const;
45 QSize sizeHint() const override;
46
47 void setSampleTextForSystem(QFontDatabase::WritingSystem writingSystem, const QString &sampleText);
48 QString sampleTextForSystem(QFontDatabase::WritingSystem writingSystem) const;
49
50 void setSampleTextForFont(const QString &fontFamily, const QString &sampleText);
51 QString sampleTextForFont(const QString &fontFamily) const;
52
53 void setDisplayFont(const QString &fontFamily, const QFont &font);
54 std::optional<QFont> displayFont(const QString &fontFamily) const;
55
56public Q_SLOTS:
57 void setCurrentFont(const QFont &f);
58
59Q_SIGNALS:
60 void currentFontChanged(const QFont &f);
61
62protected:
63 bool event(QEvent *e) override;
64
65private:
66 Q_DISABLE_COPY(QFontComboBox)
67 Q_DECLARE_PRIVATE(QFontComboBox)
68};
69
70Q_DECLARE_OPERATORS_FOR_FLAGS(QFontComboBox::FontFilters)
71
72QT_END_NAMESPACE
73
74#endif
std::array< QMetaObject::Connection, 2 > connections
void currentChanged(const QString &)
QHash< QString, QFont > displayFontForFontFamily
QHash< QFontDatabase::WritingSystem, QString > sampleTextForWritingSystem
QHash< QString, QString > sampleTextForFontFamily
The QFontComboBox widget is a combobox that lets the user select a font family.
void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const override
This pure abstract function must be reimplemented if you want to provide custom rendering.
QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const override
This pure abstract function must be reimplemented if you want to provide custom rendering.
QFontComboBoxPrivate * comboPrivate
QFontDatabase::WritingSystem writingSystem
\inmodule QtCore
friend class QPainter
Combined button and popup list for selecting options.
#define qApp
static QFontDatabase::WritingSystem writingSystemFromLocale()
static QFontDatabase::WritingSystem writingSystemFromScript(QLocale::Script script)
static QFontDatabase::WritingSystem writingSystemForFont(const QFont &font, bool *hasLatin)
QT_REQUIRE_CONFIG(fontcombobox)