PyQt5 GUI编程(QMainWindow与QWidget模块结合使用)
QWidget是所有用户界面对象的基类,而QMainWindow用于创建主应用程序窗口的类。它是QWidget的一个子类,提供了创建具有菜单栏、工具栏、状态栏等的主窗口所需的功能。上篇主要介绍了基本使用,创建窗口时都是继承单个模块,本章主要介绍下两个模块的结合使用。
·
一.简介
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文件后读取内容显示在文本框中,文本框中内容可以进行清空和保存。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献33条内容
所有评论(0)