Skip to main content

Simple font chooser for Tkinter

Project description

tkFontChooser

A simple font chooser for Tkinter that allow the user to select the font family among the fonts available on his/her system. The size and style (bold, italic, underline, strikethrough) of the text can be set too.

This module contains a FontChooser class which implements the font chooser and an askfont function that displays the font chooser and returns the chosen font when the user closes the font chooser. The font is returned as a dictionary like the one returned by the function tkFont.Font.actual.

Requirements

  • Linux, Windows, Mac

  • Python 2 or 3 with tkinter + ttk (default for Windows but not for Linux)

Installation

  • Ubuntu: use the PPA ppa:j-4321-i/ppa

    $ sudo add-apt-repository ppa:j-4321-i/ppa
    $ sudo apt-get update
    $ sudo apt-get install python(3)-tkfontchooser
  • Archlinux:

    the package is available on AUR

  • With pip:

    $ pip install tkfontchooser

Example

try:
    from tkinter import Tk
    from tkinter.ttk import Style, Button, Label
except ImportError:
    from Tkinter import Tk
    from ttk import Style, Button, Label
from sys import platform
from tkfontchooser import askfont

# create main window
root = Tk()
style = Style(root)
if "win" == platform[:3]:
    style.theme_use('vista')
elif "darwin" in platform:
    style.theme_use('clam')
else:
    style.theme_use('clam')
bg = style.lookup("TLabel", "background")
root.configure(bg=bg)
label = Label(root, text='Chosen font: ')
label.pack(padx=10, pady=(10,4))

def callback():
    # open the font chooser and get the font selected by the user
    font = askfont(root)
    # font is "" if the user has cancelled
    if font:
        # spaces in the family name need to be escaped
        font['family'] = font['family'].replace(' ', '\ ')
        font_str = "%(family)s %(size)i %(weight)s %(slant)s" % font
        if font['underline']:
            font_str += ' underline'
        if font['overstrike']:
            font_str += ' overstrike'
        label.configure(font=font_str, text='Chosen font: ' + font_str.replace('\ ', ' '))

Button(root, text='Font Chooser', command=callback).pack(padx=10, pady=(4,10))
root.mainloop()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tkfontchooser-2.0.2.tar.gz (20.3 kB view details)

Uploaded Source

Built Distributions

tkfontchooser-2.0.2-py3.6.egg (14.7 kB view details)

Uploaded Source

tkfontchooser-2.0.2-py2.py3-none-any.whl (7.4 kB view details)

Uploaded Python 2 Python 3

tkfontchooser-2.0.2-py2.7.egg (14.7 kB view details)

Uploaded Source

File details

Details for the file tkfontchooser-2.0.2.tar.gz.

File metadata

  • Download URL: tkfontchooser-2.0.2.tar.gz
  • Upload date:
  • Size: 20.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/39.2.0 requests-toolbelt/0.8.0 tqdm/4.23.4 CPython/3.6.6

File hashes

Hashes for tkfontchooser-2.0.2.tar.gz
Algorithm Hash digest
SHA256 867d33cfa17e0d0786c417756c8ff1975c91e53ed6d27216afb1cf3e4e208602
MD5 436af287109b6e34bb3b13a64cf85c35
BLAKE2b-256 883cc3dc5543e5b8551e2e3dd90e40e0b03bf62f5797f13ced241bb16b866cf9

See more details on using hashes here.

File details

Details for the file tkfontchooser-2.0.2-py3.6.egg.

File metadata

  • Download URL: tkfontchooser-2.0.2-py3.6.egg
  • Upload date:
  • Size: 14.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/39.2.0 requests-toolbelt/0.8.0 tqdm/4.23.4 CPython/3.6.6

File hashes

Hashes for tkfontchooser-2.0.2-py3.6.egg
Algorithm Hash digest
SHA256 cf00d28b9aa65e9967144ce6f39a4b037e021da90164464148dca76d9f94059d
MD5 b9ad12162d983a1bd3bda6f5307af738
BLAKE2b-256 cc4d49576abf24722779fca3f63994754fbea44afcc12afecc0aaeb936f4ea25

See more details on using hashes here.

File details

Details for the file tkfontchooser-2.0.2-py2.py3-none-any.whl.

File metadata

  • Download URL: tkfontchooser-2.0.2-py2.py3-none-any.whl
  • Upload date:
  • Size: 7.4 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/39.2.0 requests-toolbelt/0.8.0 tqdm/4.23.4 CPython/3.6.6

File hashes

Hashes for tkfontchooser-2.0.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 e39c20d74597709f84cabc6f579f2b548ce9e82fe97fc02f85729cd1ab5bb7d6
MD5 2c3f771c8f4d8f0a38210a446af2eb6a
BLAKE2b-256 c697c46c1b87b60621271022620438afa5f6186431865b419c5eef5e31947d21

See more details on using hashes here.

File details

Details for the file tkfontchooser-2.0.2-py2.7.egg.

File metadata

  • Download URL: tkfontchooser-2.0.2-py2.7.egg
  • Upload date:
  • Size: 14.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/39.2.0 requests-toolbelt/0.8.0 tqdm/4.23.4 CPython/3.6.6

File hashes

Hashes for tkfontchooser-2.0.2-py2.7.egg
Algorithm Hash digest
SHA256 51bd0269c27347d4913cdd304f6ae7432032d644a039add57d86a668de458c43
MD5 dfdcba179c2c336eb7db38e2f0f66b17
BLAKE2b-256 521477930b70f5484f752f96bf54bb90f6986d6a1929a09a2260c93a4c55c748

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page