QFontDialog 类
QFontDialog 类提供了一个用于选择字体的对话框小部件。 更多...
头文件 | #include <QFontDialog> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake | QT += widgets |
继承 | QDialog |
- 全部成员列表,包括继承成员
- QFontDialog 是标准对话框的一部分。标准对话框.
公共类型
枚举 | FontDialogOption { NoButtons, DontUseNativeDialog, ScalableFonts, NonScalableFonts, MonospacedFonts, ProportionalFonts } |
标志 | FontDialogOptions |
属性
- currentFont : QFont
- options : FontDialogOptions
公共函数
QFontDialog(QWidget *parent = nullptr) | |
QFontDialog(const QFont &initial, QWidget *parent = nullptr) | |
QFont | currentFont() const |
void | open(QObject *receiver, const char *member) |
QFontDialog::FontDialogOptions | options() const |
QFont | selectedFont() const |
void | setCurrentFont(const QFont &font) |
void | setOption(QFontDialog::FontDialogOption option, bool on = true) |
void | setOptions(QFontDialog::FontDialogOptions options) |
bool | testOption(QFontDialog::FontDialogOption option) const |
重写公共函数
virtual void | setVisible(bool visible) override |
信号
void | currentFontChanged(const QFont &font) |
void | fontSelected(const QFont &font) |
静态公共成员
QFont | getFont(bool *ok, const QFont &initial, QWidget *parent = nullptr, const QString &title = QString(), QFontDialog::FontDialogOptions options = FontDialogOptions()) |
QFont | getFont(bool *ok, QWidget *parent = nullptr) |
重写受保护函数
virtual void | changeEvent(QEvent *e) override |
virtual void | 完成(int result) override |
详细描述
字体对话框是通过静态函数之一getFont()创建的。
示例
bool ok; QFont font = QFontDialog::getFont( &ok, QFont("Helvetica [Cronyx]", 10), this); if (ok) { // the user clicked OK and font is set to the font the user selected } else { // the user canceled the dialog; font is set to the initial // value, in this case Helvetica [Cronyx], 10 }
对话框也可以直接设置小部件的字体
myWidget.setFont(QFontDialog::getFont(0, myWidget.font()));
如果用户点击“确定”,则选择的字体将用于myWidget,如果他们点击“取消”,则使用原始字体。
另请参阅QFont、QFontInfo、QFontMetrics、QColorDialog、QFileDialog和标准对话框示例。
成员类型文档
枚举 QFontDialog::FontDialogOption
标志 QFontDialog::FontDialogOptions
此枚举指定影响字体对话框外观的选项。
例如,它可以指定应显示哪种类型的字体。如果没有指定任何类型,则将列出所有可用的字体。
请注意,字体过滤选项可能在某些平台上不受支持(例如Mac)。它们总是由非原生对话框(在Windows或Linux中使用)支持。
常量 | 值 | 描述 |
---|---|---|
QFontDialog::NoButtons | 0x00000001 | 不显示确定和取消按钮。(对于“实时对话框”很有用。) |
QFontDialog::DontUseNativeDialog | 0x00000002 | 在Mac上使用Qt的标准字体对话框,而不是Apple的原生字体面板。 |
QFontDialog::ScalableFonts | 0x00000004 | 显示可缩放字体 |
QFontDialog::NonScalableFonts | 0x00000008 | 显示不可缩放字体 |
QFontDialog::MonospacedFonts | 0x00000010 | 显示等宽字体 |
QFontDialog::ProportionalFonts | 0x00000020 | 显示比例字体 |
The FontDialogOptions type is a typedef for QFlags<FontDialogOption>. It stores an OR combination of FontDialogOption values.
另请参阅options、setOption()和testOption。
属性文档
currentFont : QFont
此属性包含对话框的当前字体。
访问函数
QFont | currentFont() const |
void | setCurrentFont(const QFont &font) |
通知信号
void | currentFontChanged(const QFont &font) |
options : FontDialogOptions
此属性包含影响对话框外观的选项。
默认情况下,所有选项都是禁用的。
设置选项应在显示对话框之前进行。设置在对话框可见时的选项不能保证立即影响对话框(取决于选项和平台)。
访问函数
QFontDialog::FontDialogOptions | options() const |
void | setOptions(QFontDialog::FontDialogOptions options) |
另请参阅setOption()和testOption。
成员函数文档
[显式]
QFontDialog::QFontDialog(QWidget *parent = nullptr)
构建一个标准字体对话框。
使用setCurrentFont()来设置初始字体属性。
parent参数被传递到QDialog构造函数。
另请参阅 getFont()。
[显式]
QFontDialog::QFontDialog(const QFont &initial, QWidget *parent = nullptr)
构建具有给定 父对象 和指定 初始 字体的标准字体对话框。
[重写虚拟保护]
void QFontDialog::changeEvent(QEvent *e)
重写: QWidget::changeEvent(QEvent *event)。
QFont QFontDialog::currentFont() const
返回当前字体。
注意:当前字体属性的获取函数。
另请参阅 setCurrentFont() 和 selectedFont。
[信号]
void QFontDialog::currentFontChanged(const QFont &font)
当前字体更换时发出此信号。新的字体以 font 指定。
在用户选择字体时发出信号。最终选定的字体可能与当前选定的字体不同。
注意:currentFont 属性的通知信号。
另请参阅 currentFont、fontSelected 和 selectedFont。
[重写虚拟保护]
void QFontDialog::done(int result)
重写: QDialog::done(int r)。
关闭对话框并设置其结果代码为 result。如果使用 exec() 显示此对话框,则 done() 会使局部事件循环结束,并使 exec() 返回 result。
另请参阅 QDialog::done。
[信号]
void QFontDialog::fontSelected(const QFont &font)
选中字体时发出此信号。选中的字体以 font 指定。
仅当用户选择要使用的最终字体时才会发出此信号。在用户在字体对话框中更改当前字体时不会发出。
另请参阅 selectedFont、currentFontChanged 和 currentFont。
[静态]
QFont QFontDialog::getFont(bool *ok, const QFont &initial, QWidget *parent = nullptr, const QString &title = QString(), QFontDialog::FontDialogOptions options = FontDialogOptions())
执行模态字体对话框并返回一个字体。
如果用户点击确定,将返回所选字体。如果用户点击取消,将返回初始字体。
该对话框使用指定的父和选项所述选项构建。 标题显示为对话框的窗口标题,而初始是默认选择的字体。如果ok参数非空,则在用户点击确定时,其所指值设为true,在用户点击取消时设为false。
示例
bool ok; QFont font = QFontDialog::getFont(&ok, QFont("Times", 12), this); if (ok) { // font is set to the font the user selected } else { // the user canceled the dialog; font is set to the initial // value, in this case Times, 12. }
对话框也可以直接设置小部件的字体
myWidget.setFont(QFontDialog::getFont(0, myWidget.font()));
在此示例中,如果用户点击确定,将使用所选的字体;如果点击取消,则使用原始字体。
警告:不要在对话框执行期间删除父。如果想这样做,您应该使用某种QFontDialog构造函数自己创建对话框。
[静态]
QFont QFontDialog::getFont(bool *ok, QWidget *parent = nullptr)
这是一个重载函数。
执行模态字体对话框并返回一个字体。
如果用户点击确定,则返回所选字体。如果用户点击取消,则返回Qt默认字体。
使用给定的父构建对话框。如果ok参数非空,则在用户点击确定时,其所指值设为true,在用户点击取消时设为false。
示例
bool ok; QFont font = QFontDialog::getFont(&ok, this); if (ok) { // font is set to the font the user selected } else { // the user canceled the dialog; font is set to the default // application font, QApplication::font() }
警告:不要在对话框执行期间删除父。如果想这样做,您应该使用某种QFontDialog构造函数自己创建对话框。
void QFontDialog::open(QObject *receiver, const char *member)
打开对话框并将其fontSelected()信号连接到receiver和member指定的槽。
在对话框关闭时,将信号从槽断开连接。
QFont QFontDialog::selectedFont() const
返回用户通过点击确定或等效按钮所选的字体。
注意:此字体不一定与currentFont属性所持有的字体相同,因为用户可以在最终选择要使用的字体之前选择不同的字体。
void QFontDialog::setCurrentFont(const QFont &font)
将QFontDialog中的高亮字体设置为给定的font。
注意:这是属性currentFont的设置器函数。
另请参见:currentFont() 和 selectedFont。
void QFontDialog::setOption(QFontDialog::FontDialogOption option, bool on = true)
如果on为true,则启动给定的option;否则清空给定的option。
另请参见:options 和 testOption。
[覆盖虚函数]
void QFontDialog::setVisible(bool visible)
重实现了:QDialog::setVisible(bool visible)。
bool QFontDialog::testOption(QFontDialog::FontDialogOption option) const
如果给定的 选项 被启用,则返回 true
;否则,返回 false。
© 2024 The Qt Company Ltd。此处包含的文档贡献是其各自所有者的版权。提供的文档是根据由自由软件基金会发布的 GNU Free Documentation License 版本 1.3 的条款许可的。Qt 和相应的商标是 The Qt Company Ltd. 在芬兰和/或其他国家的商标。所有其他商标均为其各自所有者的财产。