Skip to content

窗口

QWidget

控件和窗口的父类, 自由度高, 里面没有任何东西, 这一个是前面一直使用的那一个

QMainWindow

QWidget的子类, 里面有状态栏, 菜单栏, 标题栏等

python
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *

class MyWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setupUI()

    def setupUI(self):
        lable = QLabel("Hello World")
        # 标签文字居中
        lable.setAlignment(Qt.AlignCenter)
        # 把这一个控件居中
        self.setCentralWidget(lable)

        menu = self.menuBar()
        menu_file = menu.addMenu("File")
        menu_edit = menu.addMenu("Edit")
        menu_view = menu.addMenu("View")
        # 添加菜单项
        menu_file.addAction("New")
        # 创建一个行为
        save_action = QAction("Save", self)
        menu_file.addAction(save_action)
        # 添加分割线
        menu_file.addSeparator()
        exit_action = QAction("Exit", self)
        exit_action.triggered.connect(qApp.quit)
        menu_file.addAction(exit_action)

        save_action.triggered.connect(self.save)
    def save(self):
        print("Save")
        
if __name__ == '__main__':
    app = QApplication(sys.argv)
    w = MyWindow()
    w.show()
    app.exec()

image-20240507225620841

QDialog

对话框窗口

这一个一般使用弹窗的方式进行出现