1 of 30

I

MÜHAZİRƏNİN MƏQSƏDİ PyQt5 dizayner proqramında yaradılmış ekran formalarının Pythonda istifadəsi haqqında biliklərin əldə

​

MÜHAZİRƏNİN PLANI:

1. PyQt5 dizayner proqramında yaradılmış formanın formatı haqqında.

2. Uİ formatının PY formatına çevrilməsi üçün PYUİC5 convertor proqramı.

3. PyQt5 dizaynerp roqramında yaradılmış formanın Pythonda convert olunmadan istifadəsi qaydası .

4. OYP-da klassın konstruktoru.

ı

2 of 30

1. PyQt5 dizayner proqramında yaradılmış formanın formatı haqqında.

ı

Ekran forması yaradılarkən onun məzmunu XML formatında olduğundan onu Python proqramı başa düşmür. Yeri gəlmişkən qeyd edək ki, XML - (ing. <eks-em-el>) (Extensible Markup Language -genişlənəbilən nişanlama dili) formatı HTML formatının genişləndirilmiş bir variantı olub, World-Wide Web sənədlərinin formatlaşdırılması üçün metadil hesab olunur.

3 of 30

4 of 30

I

I

I

I

I

I

I

I

I

I

Hal-hazırda bir çox proqramlar, digər proqramlarla məlumat mübadiləsini XML formatı üzərindən etməkdədir. XML formatlı faylları açmaq və ya redaktə etmək üçün istənilən, hətta ən ibtidai redaktoru (hətta standart Windows dəstindən "Notepad" redaktorunu da) istifadə etmək mümkündür. Ancaq XML formatını redaktə etmək lazım olarsa, o zaman dil sintaksisi dəstəyi ilə peşəkar yardım proqramlarından istifadə etmək daha yaxşıdır, məsələn, Oxygen XML Redaktor, XML Marker və ya EditiX Lite Version. Təbii ki, bunlar fayl dili ilə ən yüksək səviyyədə işləyə biləcək bütün yardım proqramları deyil.

5 of 30

Azərbaycan

TEXNİKİ

Universiteti

6 of 30

■ ■

Azərbaycan

TEXNİKİ

Universiteti

■ ■■■■■■■■■■■■■■■■■■■■■ ■ ■

from watson.http.messages V« from watson.common.imports from watson.common.context»

ACCEPT ABCE „RETURN _T(PES • U

Base(.ContainerA*are,

def enecut»^®^ vt.w*

7 of 30

I

I

I

I

I

I

Bu gün belə proqramlar çoxdur. XML formatı informasiyanın strukturlaşdırılması, saxlanılması və ötürülməsi üçün yaradılmışdır. XML formatı HTML formatına çox oxşardır. Nəzərə almaq lazımdır ki, XML HTML-i əvəz etmək üçün yaradılmamışdır, o, HTML-ə əlavədir. XML formatı bütün tətbiqlər arası verilənlərin ötürülməsi üçün ümumi bir vasitədir.

8 of 30

I

I

I

I

I

I

I

I

Ekran formalarının genişlənməsi ui -dir. Onun məzmununa adi redaktorların köməyilə baxmaq istəsək, onun XML formatında olduğunu görərik. Məsələn:

<?xml version-'1.0" encoding="UTF-8"?>

<ui version="4.0">

<class>MainWindow</class>

<widget class="QMainWindow"

name="MainWindow">

<property name="geometry">

<rect>

<x>0</x>

<y>0</y>

<width>1107</width>

<height>681</height>

</rect>

</property>

<property name="windowTitle">

9 of 30

<string>MainWindow</string>

</property>

<property name="locale">

<locale language-'Azerbaijani"

country="Azerbaijan"/>

</property>

<widget class="QWidget" name="centralwidget"> <widget class="QLabel" name="label">

<property name="geometry">

<rect>

<x>490</x>

<y>40</y>

<width>71</width>

<height>31</height>

</rect>

</property>

<property name="font">

<font>

<family>Times New Roman</family> <pointsize>16</pointsize>

</font>

</property>

<property name="styleSheet">

10 of 30

<resources/>

<connections/>

</ui>

■

11 of 30

I

I

I

I

I

I

I

I

I

I

I

2. Uİ formatının PY formatına çevrilməsi üçün PYUİC5 convertor proqramı.

Ekran formasını Python proqramının başa düşməsi üçün Pyuic5 convertor proqramı mövcuddur. Bu convertor ui formatlı faylları py formatına çevirir. Pyuic5 convertor proqramından istifadə etmək çox çətinlik törətməyən bir işdir. Bunun üçün cəmi iki sətirdən ibarət aşağıdakı proqram kodunu yazmaq kifayətdir:

import os

os.system("pyuic5 Forma.ui -o Forma.py")

12 of 30

Azərbaycan

TEXNİKİ

Universiteti

13 of 30

Azərbaycan

TEXNİKİ

Universiteti

14 of 30

15 of 30

Azərbaycan

TEXNİKİ

Universiteti

from PyQt5 import QtWidgets from Forma import Ui_MainWindow

# Generasiya olunmuş forma import olunur. import sys

class mywindow(QtWidgets.QMainWindow):

B

П

z

def_init_(self):

super(mywindow, self)._init_()

self.ui = Ui_MainWindow()

;

self.ui.setupUi(self) app = QtWidgets.QApplication([])

application = mywindow() application.show()

sys.exit(app.exec())

16 of 30

I

Azərbaycan

TEXNİKİ

Universiteti

Məsələn, tutaq ki, üç vidjetdən ibarət ( Label, LCD Number və Calendar Widget ) aşağıdakı forma yaratmışıq və bu forma Studentl.ui faylı kimi yadda saxlanılmışdır. Forma yaradılan zaman bu obyektlər üzərində müəyyən tərtibati işlər aparılmışdır. İndi aşağıdakı proqram kodunun köməyilə biz Studentl.ui faylını Studentl.py faylına çevirə bilərik:

import os

os.system("pyuic5 Studentl.ui -o Studentl.py")

ı

17 of 30

18 of 30

I

I

I

I

I

I

I

I

I

I

I

I

I

I

3. PyQt5 dizaynerproqramında yaradılmış formanın Pythonda convert olunmadan istifadəsi qaydası .

Prosesin özü avtomatlaşdırılsa da, bu şəkildə formalardan istifadə etmək o qədər də sərfəli deyildir. Belə ki, nəticədə alınan Python kodu çox uzun olur və oxunaqlı deyildir. Ona görə də, Qt-dizaynerində yaradılmış formanın Python proqramında istifadə olunması üçün daha əlverişli bir üsul vardır:

pr='Student1.ui'

Ui_MainWindow, QtBaseClass = uic.loadUiType(pr):

ı

19 of 30

20 of 30

21 of 30

22 of 30

faMi Azərbaycan

U TEXNİKİ

#it is clearly seen that self and obj is referring to the same object

class check:

def_init_(self):

print("Address of self = ",id(self))

obj = check()

print("Address of class object = ",id(obj))

Output

Address of self = 140124194801032 Address of class object = 140124194801032

23 of 30

24 of 30

25 of 30

26 of 30

27 of 30

faMi Azərbaycan

U TEXNİKİ

class car():

# init method or constructor

def_init_(self, model, color):

self.model = model self.color = color

def show(self):

print("Model is", self.model ) print("color is", self.color )

# both objects have different self which

# contain their attributes audi = car("audi a4", "blue") ferrari = car("ferrari 488", "green")

audi.show() # same output as car.show(audi) ferrari.show() # same output as car.show(ferrari)

Output

Model is audi a4 color is blue Model is ferrari 488 color is green

28 of 30

I

Azərbaycan

TEXNİKİ

Universiteti

Dərsin Hədəfləri

Bu dərsi bitirdikdə

> PyQt5 dizayner proqramında yaradılmış formanın formatı .

> Uİ formatının PY formatına çevrilməsi üçün PYUİC5 convertor proqramı.

> PyQt5 dizayner proqramında yaradılmış formanın Pythonda convert olunmadan istifadəsi qaydası .

> OYP-da klassın konstruktoru.

haqqında bilikləri öyrənmiş olacaqsınız.

Müvəffəqiyyətlər diləyirik!

I

29 of 30

I

Azərbaycan

TEXNİKİ

Universiteti

Bu bölmədə,

1. PyQt5 dizayner proqramında yaradılmış formanın formatı haqqında.

2. Uİ formatının PY formatına çevrilməsi üçün PYUİC5 convertor proqramı.

3. PyQt5 dizayner proqramında yaradılmış formanın Pythonda convert olunmadan istifadəsi qaydası .

4. OYP-da klassın konstruktoru.

Öyrən diniz.

İndi özünüzü sınaya bilərsiniz. Müvəffəqiyyətlər diləyirik!..

I

30 of 30

I

I

I

I

I

I

I

I

I

I

I

Mühazirə üzrə Test Sualları və ya Mühazirə üzrə yoxlama sualları

1. PyQt5 dizayner proqramında yaradılmış formanın formatı haqqında nə bilirsiniz.

2. XML formatı nədir

3. Uİ formatının PY formatına çevrilməsi üçün PYUİC5 convertor proqramından necə istifadə olunur.

4. PyQt5 dizayner proqramında yaradılmış formanın Pythonda convert olunmadan istifadəsi qaydası .

5. OYP-da klassın konstruktoru nə deməkdir.