一.简介

QWidget是所有用户界面对象的基类,而QMainWindow用于创建主应用程序窗口的类。它是QWidget的一个子类,提供了创建具有菜单栏、工具栏、状态栏等的主窗口所需的功能。上篇主要介绍了基本使用,创建窗口时都是继承单个模块,本章主要介绍下两个模块的结合使用。

二.具体用法

1.我们先来创建一个类来继承QMainWindow实现一个简单的窗口

复制代码

import sys

from PyQt5.QtWidgets import QApplication, QMainWindow


class FileChooserApp(QMainWindow):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        # 设置窗口的标题和大小
        self.setWindowTitle('文件选择器')
        self.setGeometry(300, 300, 500, 500)


if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = FileChooserApp()
    ex.show()
    sys.exit(app.exec_())

复制代码

2.在主窗口中添加一个文本编辑器,使用垂直布局来分布展示

复制代码

    def initUI(self):
        ql = QTextEdit()
        central_widget = QWidget()
        self.setCentralWidget(central_widget)  # 创建一个中心部件
        vbox = QVBoxLayout(central_widget)  # 创建一个垂直布局
        vbox.addWidget(ql)
        vbox.addStretch(1)
        central_widget.setLayout(vbox)  # 添加到布局器中

复制代码

上述中我们在主窗口中创建一个中心部件将实例化后的central_widget 添加进去,这样就可以设置我们想要的布局了。

3.具体效果

三.实例

 View Code

 上述中创建了两个菜单栏,分别是打开和编辑,内置功能是打开txt文件后读取内容显示在文本框中,文本框中内容可以进行清空和保存。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐