PyQt5 - Hello World

Tạo một ứng dụng GUI đơn giản bằng PyQt bao gồm các bước sau:

  • Nhập các mô-đun QtCore, QtGui và QtWidgets từ gói PyQt5.

  • Tạo một đối tượng ứng dụng của lớp QApplication.

  • Một đối tượng QWidget tạo cửa sổ cấp cao nhất. Thêm đối tượng QLabel trong đó.

  • Đặt chú thích của nhãn là "hello world".

  • Xác định kích thước và vị trí của cửa sổ bằng phương thức setGeometry ().

  • Nhập vòng chính của ứng dụng bằng app.exec_() phương pháp.

Sau đây là đoạn mã để thực thi chương trình Hello World trong PyQt:

import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
def window():
   app = QApplication(sys.argv)
   w = QWidget()
   b = QLabel(w)
   b.setText("Hello World!")
   w.setGeometry(100,100,200,50)
   b.move(50,20)
   w.setWindowTitle("PyQt5")
   w.show()
   sys.exit(app.exec_())
if __name__ == '__main__':
   window()

Đoạn mã trên tạo ra kết quả sau:

Cũng có thể phát triển một giải pháp hướng đối tượng của đoạn mã trên.

  • Nhập các mô-đun QtCore, QtGui và QtWidgets từ gói PyQt5.

  • Tạo một đối tượng ứng dụng của lớp QApplication.

  • Khai báo lớp cửa sổ dựa trên lớp QWidget

  • Thêm một đối tượng QLabel và đặt chú thích của nhãn là "hello world".

  • Xác định kích thước và vị trí của cửa sổ bằng phương thức setGeometry ().

  • Nhập vòng chính của ứng dụng bằng app.exec_() phương pháp.

Sau đây là mã hoàn chỉnh của giải pháp hướng đối tượng:

import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
class window(QWidget):
   def __init__(self, parent = None):
      super(window, self).__init__(parent)
      self.resize(200,50)
      self.setWindowTitle("PyQt5")
      self.label = QLabel(self)
      self.label.setText("Hello World")
      font = QFont()
      font.setFamily("Arial")
      font.setPointSize(16)
      self.label.setFont(font)
      self.label.move(50,20)
def main():
   app = QApplication(sys.argv)
   ex = window()
   ex.show()
   sys.exit(app.exec_())
if __name__ == '__main__':
   main()