在PyQt5中实现点击按钮打开新窗口功能—窗口的跳转功能实现

基于Pyqt5工具栏按钮可实现界面切换-1 Pyqt5是Python中一个可视化超级好用的库,接下来就跟着一起看一下如何实现工具栏按钮切换界面。 阅读详情

百度搜索“pyqt5中如何点击按钮打开新的窗口”,自动生成以下参考代码。

在PyQt5中,要实现点击按钮打开新窗口,你需要定义一个新的窗口类,并在按钮的点击信号(clicked)处理函数中创建并显示这个新窗口。以下是一个简单的例子

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton, QWidget, QVBoxLayout, QMessageBox
 
class NewWindow(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("新窗口")
        self.show()
 
class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("主窗口")
        self.button = QPushButton("打开新窗口")
        self.button.clicked.connect(self.open_new_window)
 
        layout = QVBoxLayout()
        layout.addWidget(self.button)
 
        central_widget = QWidget()
        central_widget.setLayout(layout)
        self.setCentralWidget(central_widget)
 
    def open_new_window(self):
        # 创建并显示新窗口
        self.new_window = NewWindow()
 
 
if __name__ == "__main__":
    app = QApplication(sys.argv)
    mainWin = MainWindow()
    mainWin.show()
    sys.exit(app.exec_())

在这个例子中,MainWindow是主窗口类,它有一个按钮用于打开新窗口。当按钮被点击时,open_new_window方法会被调用,创建并显示NewWindow实例,即新窗口。

基于上述思路,使用一个主窗口类mainWindow管理多个窗口的跳转(窗口的显示和消失)

class mainWindow(QMainWindow):
    def __init__(self):
        super(mainWindow, self).__init__()
        self.login_window = loginWindow()
        self.login_window.show()

        self.menu_window = menuWindow()
        self.create_window = createWindow()
        # 连接信号与槽
        self.login_window.send_data.connect(self.menu_window.receive_data)
        # 点击登录按钮弹出新窗口,此登录界面窗口关闭
        self.login_window.login_pushButton.clicked.connect(self.open_menu_window)
        # 点击新建需求按钮,跳转出需求创建窗口
        self.menu_window.my_new_order_pushButton.clicked.connect(self.open_create_window)

    def open_menu_window(self):
        # 创建并显示新窗口
        self.menu_window.show()
        self.login_window.hide()

    def open_create_window(self):
        # 创建并显示新窗口
        self.create_window.show()
        self.menu_window.hide()


if __name__ == "__main__":
    app = QApplication(sys.argv)
    ui = mainWindow()
    # ui.show()
    sys.exit(app.exec_())

利用窗口逻辑业务代码与界面生成代码相分离的原则,在main.py中重新定义一个新的窗口类继承界面代码的类(界面代码在另外的.py文件)。

在这里插入图片描述

官方文档

QMainWindow类:https://doc.qt.io/qt-5/qmainwindow.html

QWidget类:https://doc.qt.io/qt-5/qwidget.html

QDialog类:https://doc.qt.io/qt-5/qdialog.html

pyqt5多窗口界面跳转 我在网上找了好久也有好多的界面跳转的例子看上去都很高级,但是我都看不懂,虽然按照他们的代码抄可以实现但是我不会怎么在他的基础上添加窗口。可能是因为我的技术太垃圾了。所以我已经了好久终于通过一遍一遍的测试终于实现的效果。 阅读详情

相关推荐

PyQt学习笔记:如何通过点击按钮弹出另一个窗口

在使用 PyQt 编写 GUI 程序时,弹出新窗口是常见的需求。本文将介绍如何通过在一个窗口中点击按钮弹出另一个窗口,并提供相应的代码实现。通过运行上述代码,我们就可以在主窗口中点击按钮弹出一个新窗口,并在新窗口中显示 “Hello, world!否则,新窗口关闭后仍有可能占用一定的内存资源。PyQt学习笔记:如何通过点击按钮弹出另一个窗口。来弹出新窗口,则在关闭新窗口时,需要手动调用。最后,在主窗口类中定义一个打开新窗口的方法。

code_welike的博客 2743

PyQt5入门笔记1--------按键弹出另一个窗口

学习PyQt的第一个程序,可以点击按钮,弹出一个新窗口。

fzh389603688的博客 6095

PyQt5点击按钮弹出自定义窗口 创建新窗口

# PyQt5点击按钮弹出自定义窗口 创建新窗口 1. 创建 QPushButton 按钮并绑定点击事件函数; 2. 点击按钮时创建自己定义的窗口类对象并显示; 3. 包含两个例程,分别为只能弹出一个窗口和可以反复点击按钮创建无限个窗口的代码。

pyqt5主窗口按键弹出子窗口

研究了很久,将show()改成exec_()后运行,报错如下,原因是不存在exec_()原因是只有一个类,只有一个主窗口,所以修改内容都是在同一个窗口内修改的。解决办法:将class的QMainWindow改成QDialog。看到是可以打印子窗口,说明是已经进入子窗口,但是就是一直闪退。结果是之间取代了原来的主窗口而且按键没有消失。目标:主窗口保持,通过按键弹出子窗口。但是,这里遇到个问题,子窗口闪退。

qq_30893653的博客 6926

YOLOv8改进 - 注意力篇 - 引入CAA注意力机制

YOLOv8改进 - 注意力篇 - 引入CAA注意力机制

浪子L的博客 5223

华为项目TR5评审后发现了重大缺陷的应急处理经验

华为TR5评审后发现重大缺陷时,启动分级应急机制:1)缺陷分级:按严重性(致命/严重/一般)评估影响;2)应急响应:跨部门会议制定方案,冻结生产并调配资源;3)根因修复:通过RCA定位问题,设计变更后回归测试;4)变更管理:评审修复影响,调整发布策略;5)持续改进:记录缺陷闭环,优化流程。案例显示,软件闪退问题通过热修复补丁和代码重构解决。关键工具包括Jira、FMEA等,确保缺陷在量产前拦截,降低风险。

从技术实践立足,从项目管理方法论延伸思考 1069

python点击按钮弹出新窗口_PyQt5点击button如何弹出新窗口?

怎么通过点击button,来打开一个新的窗口?是写在同一个脚本里,还是把新窗口的代码放在另一个脚本里,然后通过点击按钮来运行?import sysfrom PyQt5.QtWidgets import *from PyQt5.QtGui import *class FirstWindow(QWidget):def __init__(self):super().__init__()self.wind...

weixin_39877898的博客 2980

硬件开发实践:高速 PCB 差分信号与时钟同步优化

由两条互补信号线组成(正负极)接收端只关注两线之间电压差共模噪声对两线同时作用,可被抵消。

2501_93174775的博客 394

完美解决PyQt5登录界面跳转主界面方法

使用Qtdesigner设计ui界面,实行界面分离,分别设计两个界面,一个是登录的界面,一个是主界面 然后新建一个Python文件,在文件中分别将这两个界面UI引入,分别创建两个类,一个是实现登录显示的类,另一个是实现主界面显示的类。 创建两个类,主窗口类 登录窗口类 最后使用一个main函数,在这个函数中实例化登录窗口类,显示登录窗口 然后在登录窗口中实例化...

水月灯花的博客 2万+

4、硬件工程师笔试面试知识器件篇——电阻(2025版本)

本文系统介绍了电阻的基础知识与应用。首先阐述了电阻的定义、工作原理及类型(固定/可变电阻),详细说明了常见电阻材料(碳膜、金属膜、线绕等)的特性与标记方法。重点分析了电阻在电路设计中的关键参数:功率计算需考虑1.5-2倍安全裕度,温度系数影响电路稳定性。文章还对比了不同封装形式(轴向/贴片/功率封装等)的适用场景,特别强调高功率电路需选择专用封装并做好散热设计。最后指出电路仿真可优化电阻选择,并列举了相关电子元件在设计中同样需要仿真验证。全文为硬件工程师提供了电阻选型的实用指导。

XU157303764的博客 5210

MOS管基础知识及应用电路Multisim仿真

本文系统介绍了MOS管的基础知识及其在电子电路中的典型应用。首先详细解析了MOS管的基本结构、分类和工作原理,包括NMOS、PMOS及CMOS的特性差异。重点阐述了MOS管的三种放大组态电路(共源、共漏、共栅)及其小信号模型分析。随后通过Multisim仿真验证了MOS管在防反接电路、开关电路、放大电路、逻辑门电路、电平转换电路和开关电源(BUCK、BOOST、BUCK-BOOST)等应用中的实际表现。文章还深入探讨了自给偏压和分压式偏置电路的设计要点。全文通过理论分析与仿真实验相结合的方式,全面展示了MO

XU157303764的博客 1483

(6)pyqt5--->窗口跳转(注册登录功能)

GitHub连接: 本专栏所有源代码的GitHub直通车 上一篇已经讲了连接信号和槽的另外一种方法 这篇博客本来在2020年年末就应该发出来了,一直拖到现在! 在复习的空闲,能够去写一下舒心的东西真的享受 这次主要的内容就是界面跳转实现登录功能 我用的办法比较的笨拙,但是能用。其实只要完成一个事情就完全OK了:当你的登录按钮的click时间被处触发的时候,你连接的槽函数应该是你自己的登录API,当然我这次用的是我自己服务器的登录接口函数,你们使用的时候换成自己的登录API就可以,话说回来,如果你验证成功

胡小明的博客日常 3397

uniapp - 最新实现hbuilder项目运行到ios基座或苹果ios真机设备详细教程,如何在ios苹果手机上真机运行测试,IOS自定义基座在线打包调试(uniapp项目如何在苹果手机上运行调试)

uni-app,苹果,app,ios,设备,自定义基座,运行app到苹果手机,mac电脑,Xcode,hbuilderX,运行ios基座调试Uniapp,无需打包,苹果证书,ipa,运行失败,报错,无法启动,连接失败,出错,详细教程,如何解决这个问题,怎么办,申请iOS证书,运行项目到iOS基座,打包ios自定义基座,在iOS真机上运行,新手小白,超级详细的教程,dcloud如何苹果ios系统真机测试,调试基座失败,真机调试ios app,App基座安装后无法打开问题,真机运行时检测不到手机的问题或者基座安

✅ 精选推荐文章 1万+

pyqt5主页面点击按钮跳出新页面

【代码】pyqt5主页面点击按钮跳出新页面。

wq_ocean_的博客 1902

【AI智能体】Codex AI 辅助编程高级技能实战操作详解

Codex AI 辅助编程高级技能实战操作详解

congge 6758

Far planner 代码系列(35)动态障碍物预处理_激光雷达部分

主要讲解动态障碍物在激光雷达部分的剔除机制

博客 1057

PyQt5-登录界面跳转主界面方法

Login.py(登录窗口)文件 import sys from PyQt5 import QtCore, QtGui, QtWidgets from PyQt5.QtCore import * from PyQt5.QtWidgets import QFileDialog, QMessageBox, QDockWidget, QListWidget from PyQt5.QtGui import * from Ui_Login import Ui_Login_Window #由.UI文件生成.py

代码训练场的博客 4797

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

PyQt5写登录界面

pyQt5写登陆界面及跳转

rupture352的博客 2147

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

python登录界面跳转主界面_完美解决PYQT5登录界面跳转主界面方法

该问题,有很多种方法,但是很多方法要么这个有问题,要么那个有问题,最后终于找到一种没问题的方法。记录一下:Login.py(登录窗口)文件import sysfrom PyQt5 import QtCore, QtGui, QtWidgetsfrom PyQt5.QtCore import *from PyQt5.QtWidgets import QFileDialog, QMessageBox,...

weixin_39727005的博客 5002

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

pyqt 界面重载_PYQT5登录界面跳转主界面方法

该问题,有很多种方法,但是很多方法要么这个有问题,要么那个有问题,最后终于找到一种没问题的方法。记录一下:参考地址:https://www.jianshu.com/p/d18ff36a78d6?from=singlemessagelogin.py(登录窗口)文件import sysfrom pyqt5 import qtcore, qtgui, qtwidgetsfrom pyqt5.qtcore...

weixin_32208021的博客 826

一文小入门pyQt5 —— 从零到一完成一个Excel文件处理程序

写一个软件,实现Excel文件的增删改查、图片的增删改查功能,并接入人工智能检测网络,最后打包成exe。

Jesy_Hsu的博客 1万+

PYQT5登录界面跳转主界面方法

该问题,有很多种方法,但是很多方法要么这个有问题,要么那个有问题,最后终于找到一种没问题的方法。记录一下: 参考地址:https://www.jianshu.com/p/d18ff36a78d6?from=singlemessage Login.py(登录窗口)文件 import sys from PyQt5 import QtCore, QtGui, QtWidgets fr...

weixin_34162695的博客 2403

python3GUI--浏览器By:PyQt5

本次使用PyQt5制作了一款浏览器,基本实现了一般浏览器的功能,不过还是存在一些不足,例如:1.所有网页跳转均在主窗口中进行,不支持多页显示和操作2.不支持视频播放3.设置里面的部分内容没有实现,比如:语言切换在此,提出我的解决问题方案:1.PyQt5中使用QTabwidget标签页,网页跳转时,创建新的标签页。python PyQt QtWebEngine实现本窗口跳转+ 新窗口跳转2.重新编译QtWebEngine。解决QtWebEngine无法播放H5中的mp4。

懷淰メ的博客 6729

使用PyQt5完成登陆进入主窗体

login.py import sysfrom PyQt5 import QtWidgets, QtCorefrom PyQt5.QtWidgets import QMessageBoximport ui_loginimport mainclass frmLogin(QtWidgets.QWidget, ui_login.Ui_frmLogin): def __init__(se...

weixin_30699235的博客 1015

QT学习之layout界面布局以及窗口跳转和隐藏

我们最常用的 Layout布局 有4种,分别是QHBoxLayout 把控件从左到右 水平横着摆放,如下所示QHBoxLayout 把控件从上到下竖着摆放,如下所示正在上传…重新上传取消QGridLayout 把多个控件 格子状摆放,有的控件可以 占据多个格子,如下所示QFormLayout 表单就像一个只有两列的表格,非常适合填写注册表单这种类型的界面,如下所示 通过设定控件的sizePolicy来调整要调整控件上下间距,可以给控件添加layout,然后通过设定layout的上下的padding

qq_56468628的博客 5595

PyQt5 、PySide2窗口切换、模态窗口弹框

所谓模式对话框,就是弹出此对话框后, 原窗口就处于不可操作的状态,只有当模式对话框关闭才能继续。这样还有一个好处:被隐藏的窗口再次显示时,原来的操作内容还保存着,不会消失。程序开始的时候显示一个窗口(比如登录窗口),操作后进入到另外一个窗口,怎么做。有的时候,我们需要弹出一个模式对话框输入一些数据,然后回到 原窗口。方法很简单,主要就是 实例化另外一个窗口,显示新窗口,关闭老窗口。如果经常要在两个窗口来回跳转,可以使用。方法 隐藏窗口, 而不是。

m0_73482095的博客 1370
上一篇: 使用PyQt5设计系统登录界面—了解界面布局
下一篇: 使用PyQt5设计订单查询界面—了解界面布局2
草莓仙生
博客等级 码龄8年 2034粉丝 224原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

草莓仙生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值