Способ использования 4 библиотек Python для разработки настольного приложения с графическим интерфейсом

Как следует из названия, GUI (Graphical User Interface) — это использование визуальных элементов для отображения более удобного и интуитивно понятного компьютерного интерфейса.

CUI (Command Line User Interaction) — это популярная операция командной строки Dos, соответствующая ему. Он должен выучить несколько часто используемых инструкций. Обычным людям довольно сложно работать и учиться.

Хорошо продуманный и простой в использовании пользовательский интерфейс может существенно улучшить опыт каждого и повысить эффективность.

Например, если вы хотите создать калькулятор, пользователь не сможет работать с ним, если все, что у вас есть, — это окно программного ввода и вывода.

В результате требуется создать маленькое графическое окно.

1. PyQt5

Компания Riverbank Computing является создателем PyQt5. Это кроссплатформенная среда, основанная на среде Qt, которая может создавать программы для различных платформ, включая Unix, Windows и Mac OS.

PyQt — это кроссплатформенное приложение, в котором Qt сочетается с Python. Это больше, чем просто набор инструментов для графического интерфейса пользователя. Предусмотрены потоки, Unicode, регулярные выражения, базы данных SQL, SVG, OpenGL, XML и полноценный веб-браузер, а также большое количество виджетов с графическим интерфейсом.

Монтаж:

pip install -i PyQt5

Фрагменты кода:

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QVBoxLayout



app = QApplication(sys.argv)
w = QWidget()
w.resize(500, 500)

w.layout = QVBoxLayout()
w.label = QLabel("Hello World!")
w.label.setStyleSheet("font-size:25px;margin-left:155px;")
w.setWindowTitle("PyQt5 Window")
w.layout.addWidget(w.label)
w.setLayout(w.layout)

w.show()
sys.exit(app.exec_())

Выход:

2. Ткинтер

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

Tkinter имеет ряд виджетов, включая метки, кнопки, текстовые поля, флажки и кнопки прокрутки, среди прочего.

Поскольку большинство наших программ отображаются в виде прямоугольников, макеты в виде сетки упрощают реализацию даже сложных проектов.

Монтаж

pip install -i tkinter

Фрагменты кода:

Давайте воспользуемся Tkinter для создания калькулятора ИМТ.

Во всплывающем окне он принимает ваш вес и рост в качестве входных данных и предоставляет ваш коэффициент ИМТ.

from tkinter import *
from tkinter import messagebox

def get_height():
    height = float(ENTRY2.get())
    return height

def get_weight():
    weight = float(ENTRY1.get())
    return weight

def calculate_bmi():
    try:
        height = get_height()
        weight = get_weight()
        height = height / 100.0
        bmi = weight / (height ** 2)
    except ZeroDivisionError:
        messagebox.showinfo("Info", "Height")
    except ValueError:
        messagebox.showinfo("Info", "Invalid Input!!")
    else:
        messagebox.showinfo("Your BMI is : ", bmi)

if __name__ == '__main__':

    TOP = Tk()
    TOP.bind("<Return>", calculate_bmi)

    TOP.geometry("400x400")

    TOP.configure(background="#03adfc")

    TOP.title("BMI Calculator")
    TOP.resizable(width=False, height=False)
    LABLE = Label(TOP, bg="#03adfc", fg="#ffffff", text="BMI Calculator", font=("Helvetica", 15, "bold"), pady=10)
    LABLE.place(x=55, y=0)
    LABLE1 = Label(TOP, bg="#ffffff", text="Weight(Unit:kg):", bd=6,
                   font=("Helvetica", 10, "bold"), pady=5)
    LABLE1.place(x=55, y=60)
    ENTRY1 = Entry(TOP, bd=8, width=10)
    ENTRY1.place(x=240, y=60)
    LABLE2 = Label(TOP, bg="#ffffff", text="Height(Unit:cm):", bd=6,
                   font=("Helvetica", 10, "bold"), pady=5)
    LABLE2.place(x=55, y=121)
    ENTRY2 = Entry(TOP, bd=8, width=10)
    ENTRY2.place(x=240, y=121)
    BUTTON = Button(bg="#03a9fc", fg='#ffffff', bd=12, text="BMI", padx=33, pady=10, command=calculate_bmi,
                    font=("Helvetica", 20, "bold"))
    BUTTON.grid(row=5, column=0, sticky=W)
    BUTTON.place(x=115, y=250)
    TOP.mainloop()

Выход:

3. Киви

Kivy — еще одна библиотека Python с открытым исходным кодом, преимуществом которой является возможность быстрого создания мобильных приложений (мобильных телефонов).

Kivy доступен для Windows, Mac OS, Linux, Android, iOS, Raspberry Pi и других платформ.

По лицензии MIT его также можно использовать бесплатно.

Монтаж

pip install -i kivy

Фрагменты кода:

from kivy.app import App
from kivy.uix.button import Button

class TestApp(App):
    def build(self):
        return Button(text=" Hello World ")

TestApp().run()

Выход:

4. wxPython

wxPython — это кроссплатформенная среда Python с графическим интерфейсом, которая упрощает создание сложных и надежных графических пользовательских интерфейсов. В конце концов, он написан на C++.

В настоящее время поддерживаются Windows, Mac OS X, macOS и Linux.

Во всех системах приложения на основе wxPython (GUI) имеют собственный внешний вид и интерфейс.

Монтаж:

pip install -i wxPython

Фрагменты кода:

import wx

myapp = wx.App()
init_frame = wx.Frame(parent=None, title='WxPython Window')

init_frame.Show()
myapp.MainLoop()