Могу ли я установить разные шрифты для разных строк в текстовом виджете tkinter? - PullRequest
0 голосов
/ 06 октября 2018

Я делаю словарь.И у меня есть список строк (строк) конкретного слова.Мне нужно, чтобы это выглядело так: enter image description here

Ответы [ 2 ]

0 голосов
/ 07 октября 2018

Вы можете использовать текстовый виджет и стилизовать элементы словаря по-разному:

from tkinter import *

root = Tk()
root.geometry('400x250')

# Create text widget
word_text = Text(root, wrap='word', padx=10, pady=10)
word_text.pack(fill='both', padx=10, pady=10)

# Define attributes for dictionary entry
word = 'mountain'
pronunciation = '[ˈmount(ə)n]'
word_class = 'noun'
description = '''a large natural elevation of the earth's surface rising abruptly from the surrounding level; a large steep hill'''

# Insert text sections
word_text.insert('end', word+'\n')
word_text.insert('end', pronunciation+'\n')
word_text.insert('end', word_class+'\n')
word_text.insert('end', description)

# Tag and style text sections
word_text.tag_add('word','1.0','1.end')
word_text.tag_config('word', font='arial 15 bold')  # Set font, size and style
word_text.tag_add('pronunciation','2.0','2.end')
word_text.tag_config('pronunciation', font='arial 13 normal')
word_text.tag_add('word_class','3.0','3.end')
word_text.tag_config('word_class', font='arial 12 italic', lmargin1=30,
                     spacing1=10, spacing3=15)  # Set margin and spacing
word_text.tag_add('description','4.0','99.end')
word_text.tag_config('description', font='none 12', lmargin1=15, lmargin2=15)

root.mainloop()
0 голосов
/ 07 октября 2018

Вы хотели бы создать 4-5 меток, если вы хотите разные шрифты.Он будет иметь следующую структуру:

  • Первая метка = гора
  • Вторая метка = ['mauntin]
  • Третья метка = ropa
  • Четвертая метка = определение

Посетите Документацию Python по tkinter для получения дополнительной информации о конфигурации шрифтов для меток.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...