Първи стъпки с графични потребителски интерфейси в Python

Съдържание

В този урок ще поставим Примери за внедряване на GUI приложения в Python, има много модули за работа с графичен интерфейс, тук сме избрали Ткинтер, тъй като идва предварително инсталиран с Python и ще ни помогне да видим как работим по този начин, въпреки че в края ще видим малък пример за PyQt.

Можем да проверим дали Ткинтер модулът е правилно инсталиран с помощта на:

 python -m tkinter
ЗабележкаВ Python 2 това ще бъде първата буква t: Tkinter, тъй като в Python 3 е преименувана.

Ако е правилно инсталиран, ще видим, че се показва прозорец като този по -долу:

Ако няма да видим грешка, това ще покаже, че не може да намери този модул:

За да инсталирате модула в Python 3 в рамките на дистрибуциите на Debian:

 sudo apt-get инсталирайте python3-tk
За други версии вижте следната връзка. Урокът е фокусиран върху създаването на първо впечатление за работата с графичния интерфейс в Python, ако сте нов в тази тема, тогава той ще ви помогне, ако търсите разширени теми, това не е правилният урок.

ЗабележкаТук ще работим с Python 3, импортираме библиотеката, както следва:

 внос на tkinter
Въпреки това в Python 2 трябва да го импортирате, както следва, вече говорихме за преименуването му:
 внос Tkinter

Ще започнем примера с урока, ще започнем с най -лесния и ще го усложним в края.

Пример 1
Ще създадем прост прозорец за това, ние пишем следния код:

 импортиране на прозорец на tkinter = tkinter.Tk () прозорец = tkinter.mainloop ()
С първия ред импортираме необходимия модул, следващият създава основния прозорец и ако премахнем последната инструкция, прозорецът няма да се вижда, когато изпълним кода. Резултатът от примера:

Този пример е много дълъг, 3 реда … Нека преминем към следващия.

Пример 2
В този пример, който не е много по -дълъг от предишния, ще създадем прозореца, както направихме в пример 1, но ще го конфигурираме малко, ще променим цвета, размера и заглавието.

 импортиране на tkinter като tk window = tk.Tk () window.config (bg = "blue") window.geometry ("400x300") window.title ("Example2") window.mainloop ()
Първият ред все още импортира модула tkinter, но ние му даваме псевдоним, за да можем да използваме по -кратка дума в кода. Ще създадем прозореца, както в предишния пример. Следващите 3 реда ще конфигурират цвета, размера и заглавието в ред. Последният ред вече го знаем. Резултатът от примера е следният:

Досега всичко беше много лесно, нека продължим с още примери.

Пример 3
Сега ще създадем бутон в главния прозорец, който също няма да ни усложни, нека видим кода:

 импортиране на tkinter като tk window = tk.Tk () window.geometry ("200x150") бутон = tk.Button (прозорец, текст = "Тестване") button.grid (ред = 1, колона = 1) window.mainloop ()
Единствените редове, които се нуждаят от обяснение, са:
 button = tk.Button (прозорец, текст = "Тестване") button.grid (ред = 1, колона = 1)
Първият създава бутон с името Testing (бутон) и го присвояваме на прозорец, която е променливата на нашия главен прозорец. Втората поставя бутона в ред и колона 1. Изпълнението ще ни покаже следното:

Бутонът просто се показва, той не работи, тъй като не обслужва събития, ще го направим в следния пример.

Пример 4
Сега ще присъстваме на събитие, за да отворим втори прозорец, който няма да е основният, нека видим кода:

 импортиране на tkinter като tk def отворен (): window2 = tk.Toplevel (прозорец) прозорец = tk.Tk () window.geometry ("200x150") бутон = tk.Button (прозорец, текст = "отворен", команда = отворен) button.grid (ред = 1, колона = 1) window.mainloop () 
Ще видим новите редове, функцията за отваряне ще има следната инструкция, която ще създаде „дъщерен“ прозорец на основния.
 window2 = tk.Toplevel (прозорец)
И бутонът има малка промяна, забележете команда, е да изпълни функция, в този случай да извика функцията отворен:
 бутон = tk.Button (прозорец, текст = "Отваряне", команда = отворено)
Нека да преминем към пример с клас.

Пример 5
Това е последният пример за tkinter и ще бъде най -дългият, ще създадем клас, който да прави нещо различно. Това, което ще направим, е малък прозорец, който не може да бъде преоразмерен, той ще има текстов етикет и бутон, всеки път, когато натискаме бутона, броят ще се увеличава. Нека преминем към кода:

 импортиране на tkinter като tk клас Application (): counter = 1 def __init __ (self): self.window = tk.Tk () self.window.geometry ("300x60") self.window.title ("Пример 5") self . window.resizable (width = False, height = False) self.createButton () self.createLabel () self.window.mainloop () def createButton (self): self.button = tk.Button (self.window, text = "Увеличаване", команда = self.increase) self.button.pack () def createLabel (self): self.tag = tk.Label (self.window, text = "0", fg = "blue") self.tag . pack (pady = 10) def увеличение (self): self.tag ["text"] = self.counter self.counter + = 1 app = Application () 
Във функция __в него__ ще създадем прозореца и ще го конфигурираме, в допълнение към извикването на функциите createButton Y createLabel за да повярваме на тези елементи. Ако сме виждали предишните примери, този не трябва да поражда усложнения или съмнения. При стартиране на програмата имаме прозорец с номера на 0:

Ако кликнете върху бутона, броят се увеличава, например след кликване 25 пъти имаме следното:

В този урок видяхме основите на модула tkinter, ще можете да създадете много повече неща, ако се интересувате от задълбочаване тук, имате връзка към официалната страница на Python, където говорят за tkinter.

Имате други библиотеки в Python, с които можете да програмирате графични интерфейси, както беше казано в началото, някои от тях са:

  • PyGTK
  • wxPython
  • PyQT

За да можете да сравните малко tkinter с различен модул, ще дадем пример за PyQt.

Пример с PyQT
За да стартирате този пример ще трябва да инсталирате библиотеката, можете да посетите връзката, която поставяме по -горе. Ще създадем прозорец с размер 275x200 и със заглавието Пример PyQt4. Ще се появи и в позиция 300x300

 import sys от PyQt4 import QtGui application = QtGui.QApplication (sys.argv) window = QtGui.QWidget () window.resize (275, 200) window.move (300, 300) window.setWindowTitle ('Пример PyQt4'). show () sys.exit (application.exec_ ()) 
Ако изпълним кода, получаваме следния изход:

Нищо сложно, как това се наблюдава в целия урок, можем да продължим да даваме примери, тъй като има много за докосване, но с въведение той вече ви подготвя да практикувате създаването на свои собствени примери, добавяйки други елементи, като например списъци, кутии с текст къде да пишете и т.н.

Хареса ли ви и помогнахте на този урок?Можете да възнаградите автора, като натиснете този бутон, за да му дадете положителна точка

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave