説明なし

vivanov 9704f0096e five commit1 10 ヶ月 前
Screens 5882a01207 five commit 10 ヶ月 前
.gitignore.txt 429e5ab52f first commit 11 ヶ月 前
readme.md 9704f0096e five commit1 10 ヶ月 前

readme.md

Лабораторная работа №16

Оконные приложения в Python могут быть созданы с использованием различных фреймворков и библиотек, таких как Tkinter, PyQt и Kivy.

Сначала разберем PyQt

Разбираю сначала его, потому что по нему у меня уже есть некий шаблон проекта.

Я делаю конвертер валют, и как раз PyQt улучшает все это дело. Так как он считается кроссплатформенным.

Чтобы работать с PyQt, нам нужно его установить. В командрой строке вводим pip install pyqt5 Так же нужно установить PyQt5Designer, он нужен для создания графического интерфейса нашего приложения. Чтобы его установить вводим: pip install PyQt5Designer И в заключенни нам нужно скачать библиотеку для конвертирования валют: pip install currencyconverter

В PyQt все очень просто. Создание кнопок и текста происходит в одно движение. Сейчас моя программа не закончена, но она выглядит таким образом:

Как что менять я показал в этом видео

Затем как вы завершили работу над дизайном, просто конвертируем свой проект в Python файл и делаем всю логику приложения.

Tkinter

Tkinter - это стандартная библиотека в Python для создания графических интерфейсов.

Написал небольшой пример. Код вылядит таким образом:

from tkinter import * #импортируем все классы из библиотеки

root = Tk() #можно сказать, что root - это полноценное окно приложения

root['bg'] = '#FFFFFF' #цвет фона
root.title('Иванов Валера И-21') #название приложения
root.wm_attributes('-alpha', 0.7) #прозрачность окна
root.geometry('300x500') #размеры окна

root.resizable(width=False,height=False) #запрет на растягивание окна

title = Label(text='Text', bg='white', font=100) #надпись 
title.pack() #функция позволяет расположить объект в окне

btn = Button(text='нажми', bg='white', height=4) #создание кнопки
btn.pack() #функция позволяет расположить объект в окне

btn2 = Button(text='не нажимай', bg='white')
btn2.pack()

btn3 = Button(text='все же нажми', bg='white', height=10, width=15)
btn3.pack()

root.mainloop() #запуск постоянного цикла для работы программы

Получилось что-то такое:

Kivy

Kivy - позволяет создавать мультимедийные приложения с нативным видом.

Для начала нужно скачать саму библиотеку: pip install kivy

Так же написал небольшой пример:

from kivy.app import App #импорт главного класса Kivy
from kivy.uix.button import Button #импорт кнопки
from kivy.uix.boxlayout import BoxLayout #импорт класса для совмещения двух кнопок
from kivy.uix.label import Label #импорт текста
from kivy.uix.gridlayout import GridLayout #расположение элементов по сетке

class Application(App):
    def build(self):

        together = BoxLayout() #присваиваем функцию
        grid = GridLayout(cols = 1) #указываем сколько сеток(колонок) будет

        btn = Button(text = 'Click', font_size=30, background_color ='grey') #создание кнопки
        btn2 = Button(text = 'Do not Click', font_size=30, background_color ='grey') #создание кнопки
        label = Label(text = 'Иванов Валера И-21', font_size = 30) #создание текста

        together.add_widget(btn) #расположение с совмещенными кнопками
        together.add_widget(btn2) #расположение с совмещенными кнопками
        grid.add_widget(together) #расположение с совмещенными кнопками
        grid.add_widget(label) #расположение в сетку
        
        return grid 


if __name__ == "__main__": 
    Application().run() #запуск программы

При запуске программы получилось это: