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.
ı
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.
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.
Azərbaycan
TEXNİKİ
Universiteti
■ ■
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*
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.
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">
<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">
<resources/>
<connections/>
</ui>
■
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")
Azərbaycan
TEXNİKİ
Universiteti
Azərbaycan
TEXNİKİ
Universiteti
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())
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")
ı
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):
ı
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
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
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
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
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.