Python tkinter label border

Python tkinter label border

Виджет Label представляет текстовую метку. Этот элемент позволяет выводить статический текст без возможности редактирования.

Для создания элемента Label применяется конструктор, который принимает два параметра:

Параметр master представляет ссылку на родительский контейнер, а параметр options представляет следующие именованные параметры

  • anchor : устанавливает позиционирование текста
  • background : фоновый цвет
  • borderwidth : толщина границы метки
  • cursor : курсор указателя мыши при наведении на метку
  • font : шрифт текста
  • foreground : цвет текста
  • height : высота виджета
  • image : ссылка на изображение, которое отображается на метке
  • justify : устанавливает выравнивание текста. Значение LEFT выравнивает текст по левому краю, CENTER — по центру, RIGHT — по правому краю
  • pading : отступы от границ вилжета до его текста
  • relief : определяет тип границы, по умолчанию значение FLAT
  • text : устанавливает текст метки
  • textvariable : устанавливает привязку к элементу StringVar
  • underline : указывает на номер символа в тексте кнопки, который подчеркивается. По умолчанию значение -1, то есть никакой символ не подчеркивается
  • width : ширина виджета
  • wraplength : при положительном значении строки текста будут переносится для вмещения в пространство виджета

Выведем в окне приложения простейший текст:

from tkinter import * from tkinter import ttk root = Tk() root.title("METANIT.COM") root.geometry("250x200") label = ttk.Label(text="Hello METANIT.COM") label.pack() root.mainloop()

Label в tkinter и Python

Установка шрифта

Параметр font принимает определение шрифта в виде:

font = ("имя шрифта", размер_шрифта)

Первое значение передает имя шрифта в кавычках, а второе — числовой размер шрифта. Например, установим шрифт Arial высотой в 14 единиц:

from tkinter import * from tkinter import ttk root = Tk() root.title("METANIT.COM") root.geometry("250x200") label = ttk.Label(text="Hello METANIT.COM", font=("Arial", 14)) label.pack() root.mainloop()

Шрифт текста в Label в tkinter и Python

Установка изображения

За установку изображения на метке отвечает параметр image . Самый простой способ определения изображения представляет создание объекта PhotoImage , в конструктор которого передается путь к изображению:

from tkinter import * from tkinter import ttk root = Tk() root.title("METANIT.COM") root.geometry("250x200") python_logo = PhotoImage(file="./python_logo.png") label = ttk.Label(image=python_logo) label.pack() root.mainloop()

В моем случае изображение представляет файл python_logo.png, которое находится в одной папке с файлом приложения и которое изображает логотип python:

Читайте также:  Реализация пользовательского интерфейса java

изображение в Label в tkinter и Python

Если необходимо также отображать и текст, то для этого можно установить параметр compound , который определяет положение текста по отношению к изображению с помощью одного из следующих значений:

  • top : изображение поверх текста
  • bottom : изображение под текстом
  • left : изображение слева от текста
  • right : изображение справа от текста
  • none : при наличии изображения отображается только изображение
  • text : отображается только текст
  • image : отображается только изображение

Например, отобразим картинку поверх текста:

from tkinter import * from tkinter import ttk root = Tk() root.title("METANIT.COM") root.geometry("250x200") python_logo = PhotoImage(file="./python_logo.png") label = ttk.Label(image=python_logo, text="Python", compound="top") label.pack() root.mainloop()

Картинка с текстов в label в tkinter в Python

Стилизация

По умолчанию метка не имеет границы. Для установки толщины границы используется параметр borderwidth , при этом нам также надо установить тип границы с помощью параметра releaf , который может принимать значения: «flat», «raised», «sunken», «ridge», «solid» и «groove»:

from tkinter import * from tkinter import ttk root = Tk() root.title("METANIT.COM") root.geometry("250x200") label = ttk.Label(text="Hello Tkinter", borderwidth=2, relief="ridge", padding=8) label.pack(expand=True) root.mainloop()

Установка цвета фона и текста:

from tkinter import * from tkinter import ttk root = Tk() root.title("METANIT.COM") root.geometry("250x200") label = ttk.Label(text="Hello Tkinter", background="#FFCDD2", foreground="#B71C1C", padding=8) label.pack(expand=True) root.mainloop()

Источник

Как установить границу виджета метки Tkinter

Как установить границу виджета метки Tkinter

В этом уроке мы расскажем, как установить границу виджета Tkinter Label .

Tkinter Label по умолчанию не имеет границы, как показано ниже.

Граница Ярлык_но

Вам нужно назначить опцию borderwidth , чтобы добавить границу вокруг виджета Label , а также назначить опцию relief , чтобы она была одной опцией, а не flat , чтобы сделать границу видимой.

tk.Label(app,  borderwidth = 3,  relief="sunken",  text="sunken & borderwidth=3") 

Она устанавливает borderwidth как 3 , а опцию оформления границы relief как sunken .

В примере ниже показан порядок следования этикеток с различными опциями relief .

Читайте также:  Python self function name

Граница набора этикеток

Как вы могли видеть, граница невидима, когда relief является flat (значение relief по умолчанию), даже когда установлена borderwidth .

Пример полного рабочего кода

import tkinter as tk  app = tk.Tk()  labelExample1 = tk.Label(app,  borderwidth = 1,  width = 40,  relief="raised",  text="raised & borderwidth=1") labelExample2 = tk.Label(app,  borderwidth = 2,  width = 40,  relief="ridge",  text="ridge & borderwidth=2") labelExample3 = tk.Label(app,  borderwidth = 3,  width = 40,  relief="sunken",  text="sunken & borderwidth=3") labelExample4 = tk.Label(app,  borderwidth = 4,  width = 40,  relief="flat",  text="flat & borderwidth=4") labelExample5 = tk.Label(app,  borderwidth = 5,  width = 40,  relief="groove",  text="groove & borderwidth=5") labelExample6 = tk.Label(app,  borderwidth = 6,  width = 40,  relief="ridge",  text="solid & borderwidth=6")  labelExample1.grid(column=0, row=0, padx=10, pady=10) labelExample2.grid(column=0, row=1, padx=10, pady=10) labelExample3.grid(column=0, row=2, padx=10, pady=10) labelExample4.grid(column=0, row=3, padx=10, pady=10) labelExample5.grid(column=0, row=4, padx=10, pady=10) labelExample6.grid(column=0, row=5, padx=10, pady=10) app.mainloop() 

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

Сопутствующая статья — Tkinter Label

Источник

Tkinter Label – Border

There is no default option to specify a border for Label widget in Tkinter. But, we can wrap this Label widget in a Frame, and specify border for the Frame widget.

Tkinter Label - Border

To set the border for a Label widget in Tkinter, wrap the Label widget in a Frame widget, and set the border for the Frame widget.

frame = tk.Frame(window, relief=tk.SOLID, borderwidth=2) label = tk.Label(frame, text="Hello, Tkinter!")

In this tutorial, you will learn how to set the border for a Label widget using Frame widget, with examples.

Читайте также:  Php сортировать массив функцией

Examples

1. Set SOLID border of 2px around the Label widget using Frame

In this example, we shall create a Frame widget with a solid border width of 2, and then use this Frame widget as a parent for the Label widget.

import tkinter as tk # Create the main window window = tk.Tk() window.title("PythonExamples.org") window.geometry("300x200") # Create a frame with a border frame = tk.Frame(window, relief=tk.SOLID, borderwidth=2) # Create a label widget inside the frame label = tk.Label(frame, text="Hello World!") # Pack the label widget to display it label.pack() # Pack the frame to display it frame.pack() # Run the application window.mainloop()

Tkinter Label – Border

Tkinter Label - Solid Border example

2. Set RAISED border of 5px around the Label widget using Frame

In this example, we shall create a Frame widget with a raised border with width of 5, and then use this Frame widget as a parent for the Label widget.

import tkinter as tk # Create the main window window = tk.Tk() window.title("PythonExamples.org") window.geometry("300x200") # Create a frame with a border frame = tk.Frame(window, relief=tk.RAISED, borderwidth=5) # Create a label widget inside the frame label = tk.Label(frame, text="Hello World!") # Pack the label widget to display it label.pack() # Pack the frame to display it frame.pack() # Run the application window.mainloop()

Tkinter Label – Border

Tkinter Label - Raised Border example

Summary

In this Python Tkinter tutorial, we learned how to set a specific width and height for a Label widget, with examples.

Источник

Оцените статью