PyQt5打开错误窗口

问题描述 投票:0回答:0

我正在Pygame上开发一个小游戏,我有一个任务是在PyQt5上制作一个菜单。我制作了菜单和关卡。问题是应该通过按下播放按钮来打开关卡。当我运行菜单代码时,关卡窗口会立即打开。我不知道如何解决它。 这是菜单文件的代码

from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
import lvls

app = QApplication([])
win = QWidget()
win.setWindowTitle("menu")
win.resize(900, 500)

Img = QLabel("Img")
image = QPixmap("Whole_Lotta_Red.png")
image = image.scaledToWidth(500)
Img.setPixmap(image)
PlayButton = QPushButton("play")
SettingsButton = QPushButton("settings")

mainLine = QHBoxLayout()
vLine = QVBoxLayout()

mainLine.addWidget(Img)

mainLine.addLayout(vLine)

vLine.addStretch()
vLine.addWidget(PlayButton)
vLine.addWidget(SettingsButton)
vLine.addStretch()

win.setLayout(mainLine)

app.setStyleSheet('''
        QWidget {
            background-color: white;
        }
        QLabel {
        }
        QPushButton {
            font-size: 20px;
            padding: 20px 50px;
        }
    ''')

PlayButton.clicked.connect(lvls.lvlWindow)

win.show()
app.exec_()

这里是 lvl 文件的代码

from PyQt5.QtWidgets import *

def lvlWindow():
    app = QApplication([])
    win = QDialog()
    win.setWindowTitle("menu")
    win.resize(900, 500)

    title = QLabel("Title")
    lvl1 = QPushButton("LVL 1")
    lvl2 = QPushButton("LVL 2")
    lvl3 = QPushButton("LVL 3")


    mainLine = QVBoxLayout()
    hLine = QHBoxLayout()

    mainLine.addWidget(title)

    mainLine.addLayout(hLine)

    hLine.addWidget(lvl1)
    hLine.addWidget(lvl2)
    hLine.addWidget(lvl3)

    win.setLayout(mainLine)

    app.setStyleSheet('''
            QLabel {
            }
            QPushButton {
                font-size: 20px;
                padding: 200px 50px;
            }
        ''')

    win.show()
    app.exec_()

我什至不知道在这种情况下该尝试什么,我希望他们能帮我解决这个问题

python pyqt pyqt5
© www.soinside.com 2019 - 2024. All rights reserved.