如何隐藏PySide6中主窗口弹出前的意外Python闪屏窗口
解决QMainWindow启动前弹出“Python”临时窗口的问题
问题描述
启动PySide6编写的QMainWindow程序时,主窗口显示前会弹出一个标题为“Python”的小窗口,持续约半秒。尝试在MainWindow的__init__中添加self.hide()、用QSplashScreen遮盖均无效,该窗口会显示在启动屏上方。
问题原因
这个临时窗口是因为子部件(如TestTab、QTabWidget)在未被添加到主窗口之前就调用了show()方法。Qt会为无父容器且调用了show()的部件创建临时顶层窗口,直到它们被关联到父部件中,这就是你看到的“Python”窗口。
解决方案
移除所有子部件中的self.show()调用,确保子部件通过父容器关联后,由主窗口统一控制显示;同时修正子部件的父容器传递逻辑,避免部件成为无父的独立窗口。
修改后的代码
main_window.py
from PySide6.QtWidgets import QMainWindow, QTabWidget from PySide6.QtCore import Qt, QSize, QThread, QObject, Signal from modules.gui.test_tab import * class Window(QMainWindow): def __init__(self): super().__init__() self.resize(800, 600) self.setWindowTitle('Breadware Test') # 创建标签页部件 self.tw = QTabWidget() self.testtab = self.tw.addTab(TestTab(self), "Test Device") self.setCentralWidget(self.tw) # 可保留此处的self.show(),也可移到main函数统一调用
test_tab.py
from PySide6.QtWidgets import QWidget, QTextEdit, QGridLayout class TestTab(QWidget): def __init__(self, parent): super().__init__(parent) # 将parent传递给父类构造,绑定到主窗口容器 self.parent = parent grid = QGridLayout() self.infoarea = QTextEdit(self) self.infoarea.setReadOnly(True) self.infoarea.setStyleSheet("background-color: black; border: 0;") grid.addWidget(self.infoarea, 5, 1, 1, 2) self.setLayout(grid) # 移除子部件的self.show(),由父窗口统一控制显示 self.infoarea.insertHtml("<span style=\"font-size:12pt; font-weight:800; color:white;\" >Hello There</span><br>")
splashtest.py(可选优化)
import sys from modules.gui.main_window import * def main(): app = QApplication(sys.argv) # 如需启动屏可取消以下注释 # pixmap = QPixmap('./breadware-splash.png') # splash = QSplashScreen(pixmap) # splash.show() window = Window() window.show() # 在这里统一显示主窗口,逻辑更清晰 # splash.finish(window) app.exec() if __name__ == "__main__": main()
关键修改说明
- 子部件绑定父容器:
TestTab的构造函数中,将parent参数传递给super().__init__(),确保部件直接关联到主窗口,不会成为无父的独立部件。 - 移除子部件的
show()调用:所有子部件(QTabWidget、TestTab)不需要单独调用show(),主窗口显示时会自动加载并展示所有子部件。 - 修正主窗口构造逻辑:原代码中
parent = super().__init__()是无效写法,super().__init__()不需要赋值,直接调用即可。
内容的提问来源于stack exchange,提问作者Joe
相关产品推荐
相关产品推荐

