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
Post a Comment