PyQT5 - 001 - 创建主窗口

本文介绍如何使用PyQt5创建一个带有状态栏的主窗口应用,包括环境搭建、窗口设置和图标配置等关键步骤。
环境安装
pip install PyQt5
说明

创建第一个主窗口

测试Demo
import sys  # 用于导入外部参数, 应用退出
from PyQt5.QtWidgets import QMainWindow, QApplication  # 创建应用所需的模块
from PyQt5.QtGui import QIcon  # 图标操作


class FirstMainWindow(QMainWindow):
    def __init__(self):
        super(FirstMainWindow, self).__init__()

        self.setWindowTitle('第一个主窗口应用')  # 设置窗口标题
        self.resize(500, 300)  # 设置窗口大小
        self.status = self.statusBar()  # 为窗口添加一个状态栏
        self.status.showMessage('只存在5秒的消息', 5000)   # 状态栏显示消息及消息存在时间, 5秒


if __name__ == "__main__":

    app = QApplication(sys.argv)  # 实例化应用
    app.setWindowIcon(QIcon('./images/Dragon.ico'))  # 设置应用图标
    main = FirstMainWindow()  # 创建窗口
    main.show()  # 显示窗口

    sys.exit(app.exec_())  # 进入主循环, sys.exit() 保证应用完全退出
运行效果

在这里插入图片描述

### 实现点击按钮后打开新窗口并关闭现有窗口 为了实现在 PyQt5 中点击按钮后打开新窗口并关闭现有窗口的功能,可以在主窗口类中定义 `openNewWindow` 方法,在此方法内创建一个新的窗口实例,并调用相应的方法来关闭旧窗口和展示新窗口。 以下是具体的实现方式: #### 主要逻辑说明 - 创建两个不同的窗口类:一个是主窗口 (`MainWindow`);另一个是要打开的新窗口 (`SecondWindow`) -主窗口中的按钮关联槽函数里编写用于切换窗口的代码 - 使用 `close()` 关闭当前窗口并通过 `show()` 显示下一个窗口[^1] ```python import sys from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton class SecondWindow(QMainWindow): def __init__(self): super().__init__() self.setWindowTitle('第二个窗口') self.setGeometry(300, 300, 280, 170) class MainWindow(QMainWindow): def __init__(self): super().__init__() btn = QPushButton("Open new window", self) btn.clicked.connect(self.open_new_window) # 设置主窗口属性 self.setWindowTitle('第一个窗口') self.setGeometry(100, 100, 280, 170) btn.move(90, 70) def open_new_window(self): self.new_win = SecondWindow() self.new_win.show() # 打开新窗口 self.close() # 关闭原窗口 if __name__ == '__main__': app = QApplication(sys.argv) mainWin = MainWindow() mainWin.show() sys.exit(app.exec_()) ``` 这段程序展示了如何利用 PythonPyQt5 库构建 GUI 应用来完成上述需求。当用户单击 "Open new window" 按钮时会触发 `open_new_window` 函数执行,从而达到目的。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值