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// Qt-Security score:significant reason:default
4
5#ifndef QFONTCOMBOBOX_H
6#define QFONTCOMBOBOX_H
7
8#include <QtWidgets/qtwidgetsglobal.h>
9#include <QtWidgets/qcombobox.h>
10#include <QtGui/qfontdatabase.h>
11
13
14QT_BEGIN_NAMESPACE
15
16class QFontComboBoxPrivate;
17
18class Q_WIDGETS_EXPORT QFontComboBox : public QComboBox
19{
20 Q_OBJECT
21 Q_PROPERTY(QFontDatabase::WritingSystem writingSystem READ writingSystem WRITE setWritingSystem)
22 Q_PROPERTY(FontFilters fontFilters READ fontFilters WRITE setFontFilters)
23 Q_PROPERTY(QFont currentFont READ currentFont WRITE setCurrentFont NOTIFY currentFontChanged)
24
25public:
26 explicit QFontComboBox(QWidget *parent = nullptr);
27 ~QFontComboBox();
28
29 void setWritingSystem(QFontDatabase::WritingSystem);
30 QFontDatabase::WritingSystem writingSystem() const;
31
32 enum FontFilter {
33 AllFonts = 0,
34 ScalableFonts = 0x1,
35 NonScalableFonts = 0x2,
36 MonospacedFonts = 0x4,
37 ProportionalFonts = 0x8
38 };
39 Q_DECLARE_FLAGS(FontFilters, FontFilter)
40 Q_FLAG(FontFilters)
41
42 void setFontFilters(FontFilters filters);
43 FontFilters fontFilters() const;
44
45 QFont currentFont() const;
46 QSize sizeHint() const override;
47
48 void setSampleTextForSystem(QFontDatabase::WritingSystem writingSystem, const QString &sampleText);
49 QString sampleTextForSystem(QFontDatabase::WritingSystem writingSystem) const;
50
51 void setSampleTextForFont(const QString &fontFamily, const QString &sampleText);
52 QString sampleTextForFont(const QString &fontFamily) const;
53
54 void setDisplayFont(const QString &fontFamily, const QFont &font);
55 std::optional<QFont> displayFont(const QString &fontFamily) const;
56
57public Q_SLOTS:
58 void setCurrentFont(const QFont &f);
59
60Q_SIGNALS:
61 void currentFontChanged(const QFont &f);
62
63protected:
64 bool event(QEvent *e) override;
65
66private:
67 Q_DISABLE_COPY(QFontComboBox)
68 Q_DECLARE_PRIVATE(QFontComboBox)
69};
70
71Q_DECLARE_OPERATORS_FOR_FLAGS(QFontComboBox::FontFilters)
72
73QT_END_NAMESPACE
74
75#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
#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)