最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

pyqt5主窗口按鍵彈出子窗口的實(shí)現(xiàn)

 更新時(shí)間:2023年02月07日 11:05:00   作者:☆程序小黑★  
本文主要介紹了pyqt5主窗口按鍵彈出子窗口的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

目標(biāo):主窗口保持,通過按鍵彈出子窗口

步驟一pyqt5創(chuàng)建主窗口,并設(shè)置按鍵

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_())

運(yùn)行結(jié)果:

在這里插入圖片描述

步驟二pyqt5創(chuàng)建子窗口,并設(shè)置內(nèi)容

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

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

運(yùn)行結(jié)果:

在這里插入圖片描述

步驟三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_())

本以為可以實(shí)現(xiàn),結(jié)果和預(yù)想?yún)^(qū)別很大,按下按鍵后,結(jié)果如下:

在這里插入圖片描述

結(jié)果是之間取代了原來的主窗口而且按鍵沒有消失
原因是只有一個(gè)類,只有一個(gè)主窗口,所以修改內(nèi)容都是在同一個(gè)窗口內(nèi)修改的
經(jīng)過修改,第二次修改后測試源碼:

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_())

但是,這里遇到個(gè)問題,子窗口閃退。

在這里插入圖片描述

看到是可以打印子窗口,說明是已經(jīng)進(jìn)入子窗口,但是就是一直閃退
研究了很久,將show()改成exec_()后運(yùn)行,報(bào)錯(cuò)如下,原因是不存在exec_()

在這里插入圖片描述

解決辦法:將class的QMainWindow改成QDialog

在這里插入圖片描述


改成

在這里插入圖片描述

運(yùn)行結(jié)果:

在這里插入圖片描述

到此這篇關(guān)于pyqt5主窗口按鍵彈出子窗口的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)pyqt5主窗口按鍵彈出子窗口內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

台中市| 五家渠市| 弥渡县| 平江县| 陆丰市| 璧山县| 峡江县| 香格里拉县| 英德市| 凤山市| 广水市| 宣化县| 五常市| 贺州市| 滨州市| 绥芬河市| 呈贡县| 繁昌县| 阿坝县| 习水县| 延庆县| 九寨沟县| 永顺县| 平阴县| 将乐县| 塔河县| 庆安县| 运城市| 定日县| 高雄市| 石狮市| 盱眙县| 岳普湖县| 卢氏县| 兴宁市| 湘乡市| 云南省| 河津市| 莱西市| 本溪| 玉龙|