Как сделать оформление программы python

Основным компонентом графических программ является окно. Затем в окно добавляются все остальные компоненты графического интерфейса. В Tkinter окно представлено классом Tk . Например, создание окна:

root = Tk()

Для отображения окна и взаимодействия с пользователем у окна вызывается метод mainloop()

from tkinter import * root = Tk() root.mainloop()

Класс Tk обладает рядом методов и атрибутов, которые позволяют установить различные аспекты окна. Некоторые из них.

Размеры и начальная позиция окна

По умолчанию окно имеет некоторые стандартные размеры. Для установки размеров используется метод geometry() . Например, определение окна с шириной в 300 единиц и высотой 250 единиц:

from tkinter import * root = Tk() root.geometry(«300×250») root.mainloop()

По умолчанию окно позиционируется в верхний левый угол экрана с небольшим смещением. Но мы можем изменить его положение, передав нужные значения в метод geometry() :

from tkinter import * root = Tk() root.geometry(«300×250+400+200») root.mainloop()

Теперь строка в методе geometry имеет следующий формат: «Ширина x Высота + координатаX + координатаY». То есть при запуске окно шириной в 300 единиц и высотой 250 единиц будет находиться на 400 пикселей вправо и на 200 пикселей вниз от верхнего левого угла экрана.

Простой GUI калькулятор на Python #1. Дизайн приложения

Для получения данных о размере и позиции также можно использовать метод geometry() , который возвращает данные значения в виде строки в формате «widthxheight+x+y»:

from tkinter import * root = Tk() root.geometry(«300×250+400+200») root.update_idletasks() print(root.geometry()) # «300×250+400+200» root.mainloop()

Чтобы приложение еще до метода mainloop() принименило для окна переданные ему значения по ширине, высоте и позиции, вызывается метод root.update_idletasks() . В итоге вызов root.geometry() возвратить строку «300×250+400+200»

По умолчанию мы можем изменять размеры окна. Тем не менее иногда может потребоваться сделать размер окна фиксированным. В этом случае мы можем использовать метод resizable() . Его первый параметр указывает, может ли пользователь растягивать окно по ширине, а второй параметр — можно ли растягивать по высоте. Чтобы запретить растягивание по какой-либо стороне, необходимо для соответствующего параметра передать значение False . Например, запретим какое-либо изменение размеров:

Читайте также:
Описание функции в программе

from tkinter import * root = Tk() root.geometry(«300×250») root.resizable(False, False) root.mainloop()

Также можно установить минимальные и максимальные размеры окна:

root.minsize(200,150) # минимальные размеры: ширина — 200, высота — 150 root.maxsize(400,300) # максимальные размеры: ширина — 400, высота — 300

Установка заголовка

По умолчанию заголовок окна — «tk». Для установки заголовка применяется метод title() , в который передается текст заголовка:

from tkinter import * root = Tk() root.title(«Hello METANIT.COM») root.geometry(«300×250») root.mainloop()

Установка иконки

Перед заголовком отображается иконка. По умолчанию это иконка пера. С помощью метода iconbitmap() можно задать любую другую иконку. Например, определим в одной папке с файлом приложения какой-нибудь файл с иконкой, допустип, он называется «favicon.ico» и используем его для установки иконки:

КРАСИВЫЙ ДИЗАЙН PYTHON ПРИЛОЖЕНИЯ при помощи библиотеки CUSTOMTKINTER


from tkinter import * root = Tk() root.title(«Hello METANIT.COM») root.iconbitmap(default=»favicon.ico») root.geometry(«300×250») root.mainloop()

через параметр default в метод iconbitmap передается путь к иконки. В данном случае файл иконки располагается с файлом приложения в одной папке, поэтому в качестве пути указывается просто имя файла.

Иконка окна в thinkter в Python

В качестве альтернативы для установки иконки также можно было бы использовать метод iconphoto()

from tkinter import * root = Tk() root.geometry(«250×200») root.title(«Hello METANIT.COM») icon = PhotoImage(file = «icon2.png») root.iconphoto(False, icon) root.mainloop()

Первый параметр метода iconphoto() указывает, надо ли использовать иконку по умолчанию для всех окон приложения. Второй параметр — объект PhotoImage, который собственно и устанавливает файл изображения (здесь файл «icon2.png)

Однако что, если мы хотим, чтобы окно вообще не имело иконки? В этом случае можно определить прозрачную иконку и также ее подключать. Можно это сделать также динамически без наличия реального файла:

from tkinter import * import tempfile, base64, zlib ICON = zlib.decompress(base64.b64decode(«eJxjYGAEQgEBBiDJwZDBysAgxsDAoAHEQCEGBQaIOAg4sDIgACMUj4JRMApGwQgF/ykEAFXxQRc=»)) _, ICON_PATH = tempfile.mkstemp() with open(ICON_PATH, «wb») as icon_file: icon_file.write(ICON) root = Tk() root.title(«Hello METANIT.COM») root.geometry(«300×250») root.iconbitmap(default=ICON_PATH) root.mainloop()

В данном случае создается временный файл иконки в памяти.

Перехват закрытия окна

from tkinter import * def finish(): root.destroy() # ручное закрытие окна и всего приложения print(«Закрытие приложения») root = Tk() root.geometry(«250×200») root.title(«Hello METANIT.COM») root.protocol(«WM_DELETE_WINDOW», finish) root.mainloop()

Первый параметр метода protocol() представляет имя события, в данном случае это «WM_DELETE_WINDO». Второй параметр представляет функцию, которая вызывается при возникновении события. Здесь эта функция finish() , в котором с помощью метода destroy() вручную вызываем закрытие окна (а с ним и всего приложения), а затем выводим на консоль некоторое сообщение.

Читайте также:
Программа которая открывает текстовые файлы

Атрибуты окна

С помощью специального метода attributes() можно установать отдельные атрибуты окна, для которых нет специальных методов. В качестве первого параметра метод принимает название атрибута, которое предваряется дефисом. А второй параметр — значение для этого атрибута. Например, растяжение окна на весь экран:

root.attributes(«-fullscreen», True)

Здесь атрибуту fullscreen передается значение True, благодаря чему устанавливается полноэкранный режим.

Другой пример — установка прозрачности с помощью атрибута alpha :

root.attributes(«-alpha», 0.5)

Значение 0.5 указывает на полупрозрачность.

Третий пример — отключение верхней панели окна (за исключением заголовка и крестика для закрытия):

root.attributes(«-toolwindow», True)

Источник: metanit.com

Как создать GUI-приложение на Python

Изучите создание простых и мощных GUI-приложений на Python с помощью Tkinter и PyQt, двух популярных библиотек, в этой информативной статье для новичков.

Алексей Кодов
Автор статьи
23 июня 2023 в 18:53

Создание графического пользовательского интерфейса (GUI) для приложения на Python может быть выполнено с помощью различных библиотек. В этой статье мы рассмотрим две популярные библиотеки: Tkinter и PyQt.

Tkinter

Tkinter — это стандартная библиотека Python для создания легких и простых GUI-приложений. Она является одной из самых быстрых и простых в использовании библиотек для создания графического интерфейса на Python.

Установка

Tkinter уже включена в стандартную библиотеку Python, поэтому вам не нужно устанавливать ее отдельно.

Пример использования Tkinter

import tkinter as tk def on_button_click(): print(«Hello, Tkinter!») app = tk.Tk() app.title(«My Tkinter App») button = tk.Button(app, text=»Click me!», command=on_button_click) button.pack() app.mainloop()

В данном примере мы создаем базовое окно с кнопкой. При нажатии на кнопку в консоли выводится сообщение «Hello, Tkinter!».

PyQt

PyQt — это набор библиотек для создания настольных приложений с графическим интерфейсом, использующих фреймворк Qt. PyQt предлагает более мощный и гибкий инструментарий для создания GUI-приложений по сравнению с Tkinter.

Установка

Для установки PyQt выполните следующую команду:

pip install PyQt5

Пример использования PyQt

from PyQt5.QtWidgets import QApplication, QPushButton, QMainWindow import sys def on_button_click(): print(«Hello, PyQt!») app = QApplication(sys.argv) window = QMainWindow() window.setWindowTitle(«My PyQt App») button = QPushButton(«Click me!», window) button.clicked.connect(on_button_click) button.show() window.show() sys.exit(app.exec_())

В данном примере мы создаем базовое окно с кнопкой. При нажатии на кнопку в консоли выводится сообщение «Hello, PyQt!».

Python-разработчик: новая работа через 9 месяцев
Получится, даже если у вас нет опыта в IT

Вывод

Выбор между Tkinter и PyQt зависит от ваших предпочтений и требований к приложению. Tkinter подойдет для простых и небольших приложений, в то время как PyQt предоставляет больше возможностей для создания сложных и мощных GUI-приложений.

Читайте также:
Как перевести книгу с английского на русский программа

Не забывайте о практике и экспериментах с различными библиотеками, чтобы найти подходящий для вас инструмент для создания GUI-приложений на Python. Удачи вам в изучении и разработке!

Источник: sky.pro

Создание окна проекта и добавление текста в него с помощью PyCharm и языка Python

Создание окна проекта и добавление текста в него с помощью PyCharm и языка Python

Никитин Виктор

Библиотека Tkinter установлена в Python в качестве стандартного модуля, поэтому нам не нужно устанавливать что-либо для его использования. Tkinter — очень мощная библиотека. Мы используем Python 3.9 поэтому, если при применении Python 2.x, этой библиотеки не существует.

Создание окна

Набираем следующую программу:

from tkinter import *

window . title ( «Добро пожаловать в приложение Prodject » )

После запуска получаем следующее окно:

Последняя строка набранной программы window.mainloop() вызывает функцию mainloop . Эта функция вызывает бесконечный цикл окна, поэтому окно будет ждать любого взаимодействия с пользователем, пока не будет закрыто. Если в программе не прописать (вызвать) функцию mainloop , то для пользователя на экране ничего не отобразится.

Добавление текста в окно проекта (создание виджета Label)

Чтобы добавить текст в проект, создадим lbl , с помощью класса Label , например:

lbl = Label(window, text font-size: 14.0pt;font-family:»Times New Roman»,serif;color:red;background:white»>Привет»)

Установка позиции текста в окне осуществляем с помощью функции grid и укажем ее следующим образом:

lbl.grid(column=0, row=0)

Пример окончательного кода, будет выглядеть следующим образом:

from tkinter import *
window = Tk()

window.title(«Добро пожаловать в приложение Prodject»)

lbl = Label(window, text font-size:14.0pt;font-family:»Times New Roman»,serif;color:#222222;background:white»>Проект»)
lbl.

grid(column=0, row=0)
window.mainloop()

Если функция grid не будет вызвана, текст на экране не будет отображаться.

Установка типа шрифта и его размера

С помощью библиотеки Tkinter можно задать тип шрифта текста и его размер. Для изменения стиля шрифта оформить параметр font таким образом:

lbl = Label(window, text=»Проект», font=(«Times New Roman», 50))

Рис.5.

Параметр font может быть передан любому виджету, для того, чтобы поменять его шрифт, он применяется не только к Label .

Библиотека Tkinter Библиотека

Библиотека Tkinter Библиотека

Рис.2. Последняя строка набранной программы window

Рис.2. Последняя строка набранной программы window

Рис.3. Получаем результат:

Рис.3. Получаем результат:

Если функция grid не будет вызвана, текст на экране не будет отображаться

Если функция grid не будет вызвана, текст на экране не будет отображаться

Рис.6. Параметр font может быть передан любому виджету, для того, чтобы поменять его шрифт, он применяется не только к

Рис.6. Параметр font может быть передан любому виджету, для того, чтобы поменять его шрифт, он применяется не только к

Материалы на данной страницы взяты из открытых истончиков либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.

Источник: znanio.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru