Python, PyQT ve QT Desginer 5 ile çapraz platform uygulamaları

İçindekiler
Python bir programlama dilidir hangi çok paradigma olma özelliği olarak nesne yönelimli ve işlevsel bir paradigma ile programlamaya izin verir, standartlaştırılmış bir kütüphaneye sahiptir.
Yazılım ve web uygulamaları geliştirmek için birçok Python aracı ve kitaplığı vardır, ekran tasarımı durumunda aşağıdaki gibi çeşitli kitaplıkları kullanabiliriz. wxPython, PyQt, PySide veya PyGTK Arayüzümüzü çizmek ve ardından programlamak için Django gibi web çerçeveleri de var, bu derste kullanarak platformlar arası masaüstü uygulamalarının nasıl oluşturulacağını göreceğiz. PyQT 5.

PyQt5 bir Python araç kitaplığı onun için QT5 çerçevesi. Python 3.x için kullanılabilir.
PyQt5, bir dizi Python modülü olarak uygulanır. Yaptığımız tasarımları QT Designer ile ilişkilendirmemizi ve daha sonra bunları Py Qt ile tercüme edebilmemizi sağlar, böylece Linux Windows ve Mac OS gibi tüm işletim sistemlerinde Python altında çalıştırılabilirler.
Uygulama geliştirmek için gerekli programları ve bağımlılıkları kurmalıyız.Bu eğitimde işletim sistemi olarak Linux Mint'in bir sürümü kullanılacaktır, ancak herhangi bir işletim sistemine uyarlanabilir.
Diğer derslerde Qt'yi C++'da programlamak için, Multiplatform Programlama'yı C++'da ve Qt'yi GNU / Linux Ortamı ve QT Programlama ve SQLite veritabanlarında kullanıyoruz.
Önce QT Designer 5'i indirip kurduğumuz bir terminal penceresinden kuralım
 $ wget http://download.qt-project.org/official_releases/qt/5.3/5.3.0/qt-Abrirsource-linux-x64-5.3.0.run $ chmod + x qt-Abrirsource-linux-x64-5.3 .0.run $ sudo ./qt-Abrirsource-linux-x64-5.3.0.run
Ardından Python geliştirme kitaplıklarını kurmalıyız:
 sudo apt-get install pyqt5-dev-tools
Ardından, Python kodu oluşturmak için özel olarak tasarlanmış bir kod üreticisi olan SIP adlı bir Python uzantısı kurmalıyız. Bu, Qt Designer tasarım dosyasının okunmasına ve Python koduna çevrilmesine izin verecektir. Oluşturulan kod Python v2 ve v3 için derlenebilir.
SIP'yi resmi web sitesinden indiriyoruz, ardından indirdiğimiz klasöre gidiyoruz, sip-4.17.tar.gz dosyasını açıp, klasöre erişiyoruz ve SIP'yi yapılandırıyoruz ve terminal penceresinden aşağıdaki kod ile kuruyoruz.
 python configuration.py kurulum yap
QT5'i varsayılan sürüm olarak ayarladık:
 sudo apt-get install qt5-default
Son olarak Python ve QT Designer'ı bağlamak için ihtiyaç duyacağımız kütüphaneler olan PyQt'u indirip kuruyoruz.
PyQt'u resmi web sitesinden indirin, ardından indirdiğimiz klasöre gidiyoruz, PyQt dosyasını açıp klasöre erişiyoruz ve terminal penceresinden aşağıdaki kodla yapılandırıyoruz.
 piton yapılandırma.py
Qt tasarımcısından basit bir uygulama oluşturacağız, bir form alarak tasarımı yapacağız, sadece tasarım arayüzü olacak ui uzantılı dosya ile ilgileneceğiz. Projemizin adı Dialoga.

Ardından, uygulamamızın kullanacağı pencere türünü seçeceğiz, bu durumda şablon olarak iki düğmeli bir iletişim kutusu kullanacağız.

Daha sonra ekranımıza tasarım yapacağımız pencere ile birlikte bir TextEdit ekliyoruz ve dosyayı kaydediyoruz.

Daha sonra projeler klasörüne gidiyoruz, ilgili c++ dosyaları da oluşturulmuş olacak ama biz sadece ui dosyasını kullanacağız.
Terminalden sonra dialoga.ui dosyasını python'a çevirmemiz gerekecek, terminal penceresinden aşağıdaki komutu kullanıyoruz:
 pyuic5 -o dialoga.py dialoga.ui

Bu, şimdi Python'da mevcut olan c ++ 'da sahip olduğumuz tasarım olan dialog.py dosyasını oluşturur, kod aşağıdaki gibidir
 # - * - kodlama: utf-8 - * - # 'dialoga.ui' kullanıcı arabirimi dosyasının okunmasından oluşturulan form uygulaması # # Oluşturuldu: Pzt 26 Ekim 21:31:56 2015 # tarafından: PyQt5 UI kod üreteci 5.2.1 PyQt5'ten QtCore, QtGui, QtWidgets sınıfı Ui_DialogA (nesne): def setupUi (self, DialogA): DialogA.setObjectName ("DialogA") DialogA.resize (400, 300) self.buttonBox = QtWidgets.QDialogButtonBox (DialogA) self.buttonBox (DialogA) DialogA) self.setGeometry (QtCore.QRect (30, 240, 341, 32)) self.buttonBox.setOrientation (QtCore.Qt.Horizontal) self.buttonBox.setStandardButtons (QtWidgets.QDialogButtonBox.Cancel | QtWidgets.QDialogtonOsetOsetOsetOsetOsetOdWidgets.QtCore.Qt.Horizontal) . ("buttonBox") self.textEdit = QtWidgets.QTextEdit (DialogA) self.textEdit.setGeometry (QtCore.QRect (20, 20, 361, 201)) self.textEdit.setObjectName ("textEdit") self.retranslateUi (DialogA) ) self.buttonBox.accepted.connect (DialogA.accept) self.buttonBox.rejected.connect (DialogA.reject) QtCore.QMetaObject.connectSlotsByName (DialogA) def retranslateUi (self, DialogA): _translate = QtCore.QCoreAp plication.translate DialogA.setWindowTitle (_translate ("DialogA", "Dialog"))
Qt Designer'da tasarladığımız tek şey bu, şimdi onu onu kullanan bir koda bağlamalıyız, bunun için bir startup.py dosyası oluşturacağız ve aşağıdaki kodu yazacağız:
 sys'yi PyQt5.QtWidgets'tan içe aktar QApplication, dialoga'dan QDialog import * app = QApplication (sys.argv) penceresi = QDialog () ui = Ui_DialogA () ui.setupUi (pencere) window.show () sys.exit (app.exec_) ())
Grafik ekran kitaplıklarını içe aktardığımızı ve tasarımla birlikte dosya iletişim kutusunu içe aktardığımızı görüyoruz.
Ardından pencerenin bir dialog olacağını, ui penceresinin tasarım dosyasında tanımlanan Ui_DialogA() sınıfında tanımlanan tasarıma sahip olacağını ve son olarak setupUi fonksiyonu ile o tasarımın pencereye atanacağını belirtiyoruz.
Komut penceresinden aşağıdaki gibi kaydedip çalıştırıyoruz:
 python3 ana sayfa.py

Aşağıda basit ama işlevsel bir metin düzenleyici oluşturacağız. Grafik arayüzleri oluşturmakla ilgilendiğimiz yeni bir proje oluşturacağız. Projeye MyEditor adını vereceğiz.

Daha sonra şablon olarak MainWindow'u seçiyoruz. Tasarımda bir menü ve bir metin düzenlememiz olabilir. Burada, daha sonra tanımlanabilmesi ve Python kodundan referans alınabilmesi için her nesneye bir ad vermek önemli olacaktır. Sonra kaydedip ui dosyasını python'a dönüştürüyoruz.
Dönüşümü terminal penceresinden aşağıdaki komutla yapıyoruz:
 pyuic5 -o mieditor.py mieditor.ui
Python'daki tasarım kodu aşağıdaki gibi olacaktır:
 # - * - kodlama: utf-8 - * - # '/testqt/mieditor.ui' kullanıcı arabirimi dosyasının okunmasından oluşturulan form uygulaması # # Oluşturuldu: Pzt 26 Ekim 10:32:56 2015 # tarafından: PyQt5 UI kod üreteci 5.2. 1## UYARI! Bu dosyada yapılan tüm değişiklikler kaybolacak! PyQt5'ten QtCore, QMainWindow, QApplication, QtGui, QtWidgets sınıfı Ui_MainWindow (nesne): def setupUi (self, MainWindow): MainWindow.setObjectName ("MainWindow") MainWindow.resize (533, 317) self.centralwidget (QtWindow) MainWindow) self.centralwidget.setObjectName ("centralwidget") self.gridLayout = QtGui.QGridLayout (self.centralwidget) self.gridLayout.setObjectName ("gridLayout") self.textEdit = QtGui.QTextEdit (self.centraldit.) Self.textEdit (self.centraldit.) Self.textEdit (self.centraldit.) setObjectName ("textEdit") self.gridLayout.addWidget (self.textEdit, 0, 0, 1, 1) MainWindow.setCentralWidget (self.centralwidget) self.menubar = QtGui.QMenuBar (MainWindow) self.menubar.setGeometry (QtCore. QRect (0, 0, 533, 25)) self.menubar.setObjectName ("menubar") self.menu_File = QtGui.QMenu (self.menubar) self. menu_File.setObjectName ("menu_File") self.menu_Help = QtGui.QMenu (self.menubar) self.menu_Help.setObjectName ("menu_Help") MainWindow.setMenuBar (self.menubar) self.statusbar = QtGui.QStatusBar (MainWindow) durum çubuğu.setObjectNam e ("durum çubuğu") MainWindow.setStatusBar (self.statusbar) self.action_New = QtGui.QAction (MainWindow) self.action_Nuevo.setObjectName ("action_New") self.action_Open = QtGui.QAction (MainWindow) self.action_bjectName (MainWindow) self.action_bjectName (SetObjectName) "action_Abrir") self.action_Save = QtGui.QAction (MainWindow) self.action_Save.setObjectName ("action_Save") self.actionSave_As = QtGui.QAction (MainWindow) self.actionSave_As.setObjectAs") ("actionSave_As") self.action_Quit.QAction (MainWindow) self.action_Quit.setObjectName ("action_Quit") self.actionA_bout = QtGui.QAction (MainWindow) self.actionA_bout.setObjectName ("actionA_bout") self.action_Help = QtGui.QAction (MainWindow) self.action_Quit. action_Help (MainWindow) self.action_Help "action_Help") self.menu_File.addAction (self.action_New) self.menu_File.addAction (self.action_Open) self.menu_File.addAction (self.action_Save) self.menu_File.addAction (self.menu. ) self.menu_File (self.ActionSave_As) self.menu_File self.action_Quit) self.menu_Help.addAction (self.actionA_bout) self.menu_Help.addAction (self. action_Help) self.menubar.addAction (self.menu_File.menuAction ()) self.menubar.addAction (self.menu_Help.menuAction ()) self.retranslateUi (MainWindow) QtCore.QObject.connect (self.action_Quit, QtCore.SIGNAL ( self.action_Quit, QtCore.SIGNAL ("tetiklenen ()"), MainWindow.close) QtCore.QMetaObject.connectSlotsByName (MainWindow) def retranslateUi (self, MainWindow): MainWindow.setWindowTitle (QtWindow.QApplication.translate" ("MainWindow.QApplication.translate" ("MainWindow") MiEditor", Yok, QApplicationGui ", Yok, QApplicationGui" .UnicodeUTF8)) self.menu_File.setTitle (QtGui.QApplication.translate ("MainWindow", "& File", Yok, QtGui.QApplication.UnicodeUTF8)) self.menu_Hel setTitle ("QtGui.QApplication.translate", "QtGui.QApplication.translate" & Help ", Yok, QtGui.QApplication.UnicodeUTF8)) self.action_Nuevo.setText (QtGui.QApplication.translate (" MainWindow "," & Yeni " , Yok, QtGui.QApplication.UnicodeUTF8)) self.action_Abrir.setText (QtGui.Abrir.setText (QtGui.Abrir.setText (QtGui.Abrir.setText) .translate ("MainWindow", "& Açık", Yok, QtGui). QApplication.UnicodeUTF8)) self.action_Save.setText (QtGui.QApplication.translate ("MainWindow", "& Kaydet", Yok, QtGui.QApplication.UnicodeUTF8)) self.actionSave_As.setText (QtGui.QApplication.translate ("MainWindow", "Save & As", None, QtGui.QApplication.UnicodeUTF8))) self.action_Quit.setText (QtGui.QApplication (" self.translate") MainWindow "," & Exit ", Yok, QtGui.QApplication.UnicodeUTF8)) self.actionA_bout.setText (QtGui.QApplication.translate ("MainWindow "," Yakın ve Yakın ", Yok, QtGui.QApplication). UnicodeUTFelp8)) self.action_HnicodeUTFelp8)). setText (QtGui.QApplication.translate ("MainWindow", "& Teknik Destek", Yok, QtGui.QApplication.UnicodeUTF8)) 
Daha sonra, kodu editöre işlevsellik kazandıracak, her menüyü ve metin alanını somutlaştıracak şekilde programlamamız gerekecek, kod oldukça kapsamlı, burada sadece arayüz tasarımını ve dönüşümünü geliştiriyoruz …
Qt Designer ile grafik kullanıcı arayüzünün oluşturulması, uygulama tasarlamayı kolaylaştırır ve ayrıca kod bize bağlı olacağından harika bir öğrenme aracıdır.
Qt Designer, çevirmeden önce her bileşenin özelliklerini görmenizi sağlar, gerekli kitaplıkları ve özelliklerini biliyorsak, programlama grafik arabirim olmadan doğrudan herhangi bir metin düzenleyicide de yapılabilir.
Python ile ayrıca Mysql veya Sqlite gibi veritabanlarına bağlanan uygulamaları da Python ile bir bağlantı ve veritabanları üzerinde işlem yapabilir, ayrıca aşağıdaki grafik kütüphaneleri ile oluşturulan uygulamamıza görsel bir arayüz ekleyebiliriz. PyQt kullanarak Qt. Kullanıcılar için grafik arayüzlerin programlanması ile daha da ilerleyeceğiz. Python başka bir öğreticide.Bu Eğitimi beğendiniz ve yardım ettiniz mi?Yazara olumlu puan vermek için bu düğmeye basarak yazarı ödüllendirebilirsiniz.

Arkadaşlarınızla sayfasını paylaşan sitenin gelişimine yardımcı olacak

wave wave wave wave wave