|  | Home · All Classes · Modules

# QFontDialog Class Reference
[QtGui module]

The QFontDialog class provides a dialog widget for selecting a font. More...

Inherits QDialog.

### Types

- enum FontDialogOption { NoButtons, DontUseNativeDialog }
- class FontDialogOptions

### Methods

- __init__ (self, QWidget parent = None)
- __init__ (self, QFont initial, QWidget parent = None)
- changeEvent (self, QEvent e)
- QFont currentFont (self)
- done (self, int result)
- open (self)
- open (self, QObject receiver, object member)
- open (self, object slot)
- FontDialogOptions options (self)
- QFont selectedFont (self)
- setCurrentFont (self, QFont font)
- setOption (self, FontDialogOption option, bool on = True)
- setOptions (self, FontDialogOptions options)
- setVisible (self, bool visible)
- bool testOption (self, FontDialogOption option)

### Static Methods

- (QFont, bool ok) getFont (QFont initial, QWidget parent, QString title, FontDialogOptions options)
- (QFont, bool ok) getFont (QFont def, QWidget parent, QString caption)
- (QFont, bool ok) getFont (QFont initial, QWidget parent = None)
- (QFont, bool ok) getFont (QWidget parent = None)

### Qt Signals

- void currentFontChanged (const ::QFont&)
- void fontSelected (const ::QFont&)

## Detailed Description

The QFontDialog class provides a dialog widget for selecting a font.

A font dialog is created through one of the static getFont() functions.

Examples:

     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
     }

The dialog can also be used to set a widget's font directly:

     myWidget.setFont(QFontDialog.getFont(0, myWidget.font()));

If the user clicks OK the font they chose will be used for myWidget, and if they click Cancel the original font is used.

## Type Documentation

### QFontDialog.FontDialogOption

This enum specifies various options that affect the look and feel of a font dialog.

Constant | Value | Description
--- | --- | ---
`QFontDialog.NoButtons` | `0x00000001` | Don't display OK and Cancel buttons. (Useful for "live dialogs".)
`QFontDialog.DontUseNativeDialog` | `0x00000002` | Use Qt's standard font dialog on the Mac instead of Apple's native font panel. (Currently, the native dialog is never used, but this is likely to change in future Qt releases.)

This enum was introduced or modified in Qt 4.5.

The FontDialogOptions type is a typedef for QFlags<FontDialogOption>. It stores an OR combination of FontDialogOption values.

See also options, setOption(), and testOption().

## Method Documentation

### QFontDialog.__init__ (self, QWidget parent = None)

The parent argument, if not None, causes self to be owned by Qt instead of PyQt.

Constructs a standard font dialog.

Use setCurrentFont() to set the initial font attributes.

The parent parameter is passed to the QDialog constructor.

This function was introduced in Qt 4.5.

See also getFont().

### QFontDialog.__init__ (self, QFont initial, QWidget parent = None)

The parent argument, if not None, causes self to be owned by Qt instead of PyQt.

Constructs a standard font dialog with the given parent and specified initial font.

This function was introduced in Qt 4.5.

### QFontDialog.changeEvent (self, QEvent e)

Reimplemented from QWidget.changeEvent().

### QFont QFontDialog.currentFont (self)

### QFontDialog.done (self, int result)

Reimplemented from QDialog.done().

Closes the dialog and sets its result code to result. If this dialog is shown with exec_(), done() causes the local event loop to finish, and exec_() to return result.

See also QDialog.done().

### (QFont, bool ok) QFontDialog.getFont (QFont initial, QWidget parent, QString title, FontDialogOptions options)

Executes a modal font dialog and returns a font.

If the user clicks OK, the selected font is returned. If the user clicks Cancel, the initial font is returned.

The dialog is constructed with the given parent and the options specified in options. title is shown as the window title of the dialog and initial is the initially selected font. If the ok parameter is not-null, the value it refers to is set to true if the user clicks OK, and set to false if the user clicks Cancel.

Examples:

     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.
     }

The dialog can also be used to set a widget's font directly:

     myWidget.setFont(QFontDialog.getFont(0, myWidget.font()));

In this example, if the user clicks OK the font they chose will be used, and if they click Cancel the original font is used.

Warning: Do not delete parent during the execution of the dialog. If you want to do this, you should create the dialog yourself using one of the QFontDialog constructors.

### (QFont, bool ok) QFontDialog.getFont (QFont def, QWidget parent, QString caption)

Call getFont(ok, initial, parent) instead.

Warning: Do not delete parent during the execution of the dialog. If you want to do this, you should create the dialog yourself using one of the QFontDialog constructors.

The name parameter is ignored.

This function was introduced in Qt 4.5.

### (QFont, bool ok) QFontDialog.getFont (QFont initial, QWidget parent = None)

Call getFont(ok, parent) instead.

Warning: Do not delete parent during the execution of the dialog. If you want to do this, you should create the dialog yourself using one of the QFontDialog constructors.

The name parameter is ignored.

### (QFont, bool ok) QFontDialog.getFont (QWidget parent = None)

This is an overloaded function.

This function was introduced in Qt 4.5.

### QFontDialog.open (self)

This is an overloaded function.

Opens the dialog and connects its fontSelected() signal to the slot specified by receiver and member.

The signal will be disconnected from the slot when the dialog is closed.

This function was introduced in Qt 4.5.

### QFontDialog.open (self, QObject receiver, object member)

### QFontDialog.open (self, object slot)

### FontDialogOptions QFontDialog.options (self)

### QFont QFontDialog.selectedFont (self)

Returns the font that the user selected by clicking the OK or equivalent button.

Note: This font is not always the same as the font held by the currentFont property since the user can choose different fonts before finally selecting the one to use.

### QFontDialog.setCurrentFont (self, QFont font)

### QFontDialog.setOption (self, FontDialogOption option, bool on = True)

Sets the given option to be enabled if on is true; otherwise, clears the given option.

See also options and testOption().

### QFontDialog.setOptions (self, FontDialogOptions options)

### QFontDialog.setVisible (self, bool visible)

Reimplemented from QWidget.setVisible().

### bool QFontDialog.testOption (self, FontDialogOption option)

Returns true if the given option is enabled; otherwise, returns false.

See also options and setOption().

## Qt Signal Documentation

### void currentFontChanged (const ::QFont&)

This is the default overload of this signal.

This signal is emitted when the current font is changed. The new font is specified in font.

The signal is emitted while a user is selecting a font. Ultimately, the chosen font may differ from the font currently selected.

This function was introduced in Qt 4.5.

See also currentFont, fontSelected(), and selectedFont().

### void fontSelected (const ::QFont&)

This is the default overload of this signal.

This signal is emitted when a font has been selected. The selected font is specified in font.

The signal is only emitted when a user has chosen the final font to be used. It is not emitted while the user is changing the current font in the font dialog.

This function was introduced in Qt 4.5.

See also selectedFont(), currentFontChanged(), and currentFont.