pyqt :create the first window

 Create window

QWidget,QDialog,QMainWindow,QDockWidget,QFrame,QWizard,QWizardPage,QStackedWidget,QSplashScreen,QTableWidget,QTabWidget

 

QWidget

هي نافذة فارغة تماما وفيها يمكن التجكم في أماكن العناصر  في أي مكان بالنافذة    move داخلها بحرية من خلال تحريكها بأمر

QMainWindow

menuBarهذه النافذة تكون مقسمة لخمسة أماكن منها ال QToolBarوالstatusBar وال

 

self.setWindowFlag(Qt.FramelessWindowHint) # من النافذة تزيل شريط العنوان

self.setWindowFlag(Qt.WindowStaysOnTopHint)#تخلي النافذة دائما أعلي التطبيقات الأخري

self.setWindowFlag(Qt.WA_AlwaysShowToolTips)#تخلي النافذة ليس لها أيقونة في شريط المهام

self.setWindowFlags(Qt.FramelessWindowHint | Qt.WindowStaysOnTopHint)#أكثر من تعديل في نفس الوقت

self.resize(800, 600) نحدد عرض وأرتفاع النافذة اللي بيظهروا عند بداية التشغيل#
self.move(x, y  تحدد بعد النافذة علي الشاشة في أتجاه ال وأتجاه ال#  (

self.setWindowTitle("MainWindow Demo")تضع أسم للنافذة#

self.setWindowIcon(QIcon("picture.exetension"))#تضع أيقونة للنافذة

Self.setGeometry(x, y, width, height) #تحدد البعد عن الشاشة وأبعاد النافذة
self.center()#نضع النافذة في منتصف الشاشة

self.setMinimumSize(min_width, min_height)#تحدد أقل طول وعرض النافذة مش هتصغر عنهم

self.setMaximumSize(Max_width, max_height)#أكبر طول وعرض للنافذة مش هتكبر عنهم

self.close()           #يغلق النافذة

self.showMinimized()يصغر النافذة#   

self.showNormal()يرجع النافذة لحجمها العادي( لو كانت كبيرة)#      

self.showFullScreen()يكبر النافذة للحجم الكامل للشاشة#  

 

#تخلي النافذة أبعادها ثابته عند قيم الطول والعرض ولا تقبل التكبير أو التصغير

self.setFixedSize(fixed_width, fixed_height)

 

تخلي الشاشة شفافة(تظهر العناصر فقط)

self.setAttribute(Qt.WA_TranslucentBackground)

self.setWindowFlag(Qt.FramelessWindowHint)

 

يمكن أنشاء أكثر من نافذة في البرنامج تظهران معا في نفس الوقت

كل نافذة يكون ليها المتغيرات الخاصة بها واذا أغلقت احداهما تظل الأخري 

 

Example:

from PyQt5.QtWidgets import *
import sys

class MainApp1(QWidget):
    def __init__(self):
        QWidget.__init__(self)
        self.move(0,70)

self.resize(200,100)

class MainApp2(QWidget):
    def __init__(self):
        QWidget.__init__(self)
        self.move(670,70)

self.resize(200,100)

if __name__=='__main__':
    app =QApplication(sys.argv)
    widget_a = MainApp1()
    widget_a.show()
    widget_b = MainApp2()

    widget_b.show()
    app.exec()

Comments

Popular posts from this blog

QFormLayoutشرح ال

QGridLayoutشرح ال