广告
返回顶部
首页 > 资讯 > 后端开发 > Python >pyqt5主窗口按键弹出子窗口的实现
  • 938
分享到

pyqt5主窗口按键弹出子窗口的实现

pyqt5主窗口按键弹出子窗口pyqt5弹出窗口 2023-02-07 12:02:04 938人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目标:主窗口保持,通过按键弹出子窗口 步骤一:pyqt5创建主窗口,并设置按键 from PyQt5.QtWidgets import * import sys # 主窗口 cla

目标:主窗口保持,通过按键弹出子窗口

步骤一pyqt5创建主窗口,并设置按键

from PyQt5.QtWidgets import *
import sys
 # 主窗口
class Main(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("主窗口")
        fbutton = QPushButton("弹出子窗口", self)
        fbutton.clicked.connect(self.show_child)
 
    def show_child(self):
        print("子窗口")

if __name__ == "__main__":
    app = QApplication(sys.argv)
    window = Main()
    window.show()
    sys.exit(app.exec_())

运行结果:

在这里插入图片描述

步骤二pyqt5创建子窗口,并设置内容

from PyQt5.QtWidgets import *
import sys
 
 
class Child(QMainWindow):
    def __init__(self):
        super().__init__()
        self.resize(360, 240)
        self.setWindowTitle("我是子窗口啊")

# 运行主窗口
if __name__ == "__main__":
    app = QApplication(sys.argv)
    window = Child()
    window.show()
    sys.exit(app.exec_())

运行结果:

在这里插入图片描述

步骤三pyqt5通过主窗口按键弹出子窗口

from PyQt5.QtWidgets import *
import sys
 # 主窗口
class Main(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("主窗口")
        fbutton = QPushButton("弹出子窗口", self)
        fbutton.clicked.connect(self.show_child)
 
    def show_child(self):
        print("子窗口")
        self.resize(360, 240)
        self.setWindowTitle("我是子窗口啊")

if __name__ == "__main__":
    app = QApplication(sys.argv)
    window = Main()
    window.show()
    sys.exit(app.exec_())

本以为可以实现,结果和预想区别很大,按下按键后,结果如下:

在这里插入图片描述

结果是之间取代了原来的主窗口而且按键没有消失
原因是只有一个类,只有一个主窗口,所以修改内容都是在同一个窗口内修改的
经过修改,第二次修改后测试源码

from PyQt5.QtWidgets import *
import sys
 # 主窗口
class Main(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("主窗口")
        fbutton = QPushButton("弹出子窗口", self)
        fbutton.clicked.connect(self.show_child)
    def show_child(self):
        print("子窗口")
        child_window = Child()
        child_window.show()
        
class child(QMainWindow):
    def __init__(self):
        super().__init__() 
        print("子窗口")
        self.resize(360, 240)
        self.setWindowTitle("我是子窗口啊")

if __name__ == "__main__":
    app = QApplication(sys.argv)
    window = Main()
    window.show()
    sys.exit(app.exec_())

但是,这里遇到个问题,子窗口闪退。

在这里插入图片描述

看到是可以打印子窗口,说明是已经进入子窗口,但是就是一直闪退
研究了很久,将show()改成exec_()后运行,报错如下,原因是不存在exec_()

在这里插入图片描述

解决办法:将class的QMainWindow改成QDialog

在这里插入图片描述


改成

在这里插入图片描述

运行结果:

在这里插入图片描述

到此这篇关于pyqt5主窗口按键弹出子窗口的实现的文章就介绍到这了,更多相关pyqt5主窗口按键弹出子窗口内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: pyqt5主窗口按键弹出子窗口的实现

本文链接: https://www.lsjlt.com/news/194477.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • pyqt5主窗口按键弹出子窗口的实现
    目标:主窗口保持,通过按键弹出子窗口 步骤一:pyqt5创建主窗口,并设置按键 from PyQt5.QtWidgets import * import sys # 主窗口 cla...
    99+
    2023-02-07
    pyqt5主窗口按键弹出子窗口 pyqt5 弹出窗口
  • Python PyQt5中弹出子窗口解决子窗口一闪而过的问题
    方式一:槽函数中创建子窗口对象,赋值到普通变量 在主窗口添加按钮,并把按钮信号关联槽,在槽函数中创建子窗口对象赋值到普通变量,并调用其 show 方法。 from P...
    99+
    2022-11-11
  • PyQT5实现选项卡窗口、堆栈窗口、停靠窗口、子窗口
    一、选项卡控件QTabWidget import sys # 使用调色板等 from PyQt5.QtGui import QIcon # 导入QT,其中包含一些常量,例如颜色...
    99+
    2022-11-12
  • 使用Pycharm+PyQt5弹出子窗口的程序代码
    用pycharm和pyqt5,想写一个弹出窗口的程序,如下: class video_record(QWidget): def __init__(self): ...
    99+
    2022-11-12
  • 如何理解Flex弹出窗口实现和子父Flex窗口的数据交换
    本篇文章给大家分享的是有关如何理解Flex弹出窗口实现和子父Flex窗口的数据交换,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Flex弹出窗口的实现以及子父Flex窗口的数据...
    99+
    2023-06-17
  • javascript如何实现弹出窗口
    小编给大家分享一下javascript如何实现弹出窗口,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!方法:1、使用alert()实现警告框窗口,语法“alert(...
    99+
    2023-06-15
  • Android弹出窗口实现方法
    本文实例讲述了Android弹出窗口实现方法。分享给大家供大家参考,具体如下: 直接上代码: public static void displayWindow(Contex...
    99+
    2022-06-06
    方法 Android
  • jQuery如何实现弹出窗口
    这篇文章主要介绍jQuery如何实现弹出窗口,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!今天讲了Jquery的弹出窗口的组成和用法:先把引用文件的代码写好:// 每个弹窗...
    99+
    2022-10-19
  • jQuery如何实现弹出窗口弹出div层
    这篇文章给大家分享的是有关jQuery如何实现弹出窗口弹出div层的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。通过今天的jquery实例学习,我们要达到这样的效果:点击页面的链...
    99+
    2022-10-19
  • PyQT5 QTDesigner窗口及组成的实现
    一、主窗口成员 主窗口中的菜单栏、工具栏和状态栏 1.菜单栏 我们可以直接在QTDesigner中输入菜单选项即可。这些菜单选项本质上都是动作,关于动作,在下面章节进行描述。 2...
    99+
    2022-11-12
  • jquery实现的右下角窗口弹窗加定时刷新弹出功能
    你可以使用以下代码实现一个右下角窗口弹窗,并添加定时刷新弹出功能:HTML:```html弹窗标题弹窗内容...
    99+
    2023-09-02
    jquery
  • android PopupWindow 和 Activity弹出窗口实现方式
    本人小菜一个。目前只见过两种弹出框的实现方式,第一种是最常见的PopupWindow,第二种也就是Activity的方式是前几天才见识过。感觉很霸气哦。没想到,activity...
    99+
    2022-06-06
    popupwindow activity Android
  • QT quick-Popup弹出窗口自定义的实现
    目录1.Popup介绍2.自定义Popup1.Popup介绍 Popup是一个弹出窗口的控件 它的常用属性如下所示: anchors.centerIn : Object,用...
    99+
    2022-11-12
  • JS实现定时自动消失的弹出窗口
    一、Demo.html <!DOCTYPE html> <html> <head> <meta charset="U...
    99+
    2022-11-13
  • Pyqt5如何实现窗口缩放,控件在窗口内自动伸缩的操作
    这篇文章给大家分享的是有关Pyqt5如何实现窗口缩放,控件在窗口内自动伸缩的操作的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在Qtdesigner中新建一个主界面如下所示:ctrl+R 预览从预览图中可以看出这...
    99+
    2023-06-08
  • MySQL实现每天定时12点弹出黑窗口
    目录mysql每天定时12点弹出黑窗口解决办法如何关闭MySQL自动弹窗,关闭更新检查定时任务解决办法 总结MySQL每天定时12点弹出黑窗口 电脑运行时,突然弹出一个MySQLInstallerConsole...
    99+
    2023-05-12
    MySQL定时弹出黑窗口 MySQL弹出黑窗口 MySQL 12点弹出黑窗口
  • JavaScript实现弹出DIV窗口层效果代码分享
    这篇文章主要讲解了“JavaScript实现弹出DIV窗口层效果代码分享”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript实现弹出DIV窗口...
    99+
    2022-10-19
  • QT中如何实现自定义quick-Popup弹出窗口
    小编给大家分享一下QT中如何实现自定义quick-Popup弹出窗口,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1.Popup介绍Popup是一个弹出窗口的控件...
    99+
    2023-06-20
  • JS怎么实现定时自动消失的弹出窗口
    本篇内容介绍了“JS怎么实现定时自动消失的弹出窗口”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、Demo.html<!DOCTYP...
    99+
    2023-06-30
  • layui如何实现button按钮弹出提示窗口并确定才进行操作
    这篇文章主要介绍了layui如何实现button按钮弹出提示窗口并确定才进行操作,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。如下所示:&l...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作