Python 更改窗口时,图标将从任务栏中消失

Python 更改窗口时,图标将从任务栏中消失,python,windows,pyqt5,Python,Windows,Pyqt5,我正在尝试创建一个CRUD应用程序,它有几个窗口。列出客户、注册客户、删除客户、编辑客户。 为此,我试图从一个窗口切换到另一个窗口,问题是当我切换窗口时,任务栏中的图标消失了。我一定做错了。我习惯于web应用程序,这是我的第一个桌面应用程序 任务栏图标: 伪代码: 我尝试过QStackedWidget,但是当你有很多页面时,从索引设置页面看起来不太好。 我使用QMainWindow更新了我的问题,我没有使用QWindow,因为它不支持setLayout,例如。 导入系统 导入时间 从PyQt5

我正在尝试创建一个CRUD应用程序,它有几个窗口。列出客户、注册客户、删除客户、编辑客户。 为此,我试图从一个窗口切换到另一个窗口,问题是当我切换窗口时,任务栏中的图标消失了。我一定做错了。我习惯于web应用程序,这是我的第一个桌面应用程序

任务栏图标:

伪代码:


我尝试过QStackedWidget,但是当你有很多页面时,从索引设置页面看起来不太好。

我使用QMainWindow更新了我的问题,我没有使用QWindow,因为它不支持setLayout,例如。

导入系统 导入时间 从PyQt5.QtCore导入Qt,QTimer 从PyQt5.QtGui导入QFont 从PyQt5.qtwidts导入QMainWindow、QDialog、QApplication、QDesktopWidget、QGridLayout、QLabel、QWidget 类主窗口(QMainWindow): 定义初始化(自): super()。\uuuu init\uuuuu() self.title='主窗口' self.top=100 self.left=100 自宽=350 自身高度=200 self.InitUI() self.show() def InitUI(self): self.setWindowTitle(self.title) self.setGeometry(self.top、self.left、self.width、self.height) qtRectangle=self.frameGeometry() centerPoint=QDesktopWidget().availableGeometry().center() qtRectangle.moveCenter(中心点) self.move(qtRectangle.topLeft()) 布局=QGridLayout() label1=QLabel('第一个屏幕-请稍候…') label1.setFont(QFont(“Times”,25,QFont.Bold)) layout.addWidget(label1,0,0,Qt.AlignCenter) central_widget=QWidget() central_widget.setLayout(布局) self.setCentralWidget(中心窗口小部件) QTimer.singleShot(5000,自我调节秒屏幕) def GotoSecond屏幕(自身): w=第二窗口(父窗口=自身窗口) w、 show() self.hide() 类第二窗口(QMainWindow): 定义初始化(自身,父级): super()。\uuuuu init\uuuuuu(父=父) self.title='第二个窗口' self.top=100 self.left=100 自宽=680 自身高度=500 self.InitUI() self.show() def InitUI(self): self.setWindowTitle(self.title) self.setGeometry(self.top、self.left、self.width、self.height) qtRectangle=self.frameGeometry() centerPoint=QDesktopWidget().availableGeometry().center() qtRectangle.moveCenter(中心点) self.move(qtRectangle.topLeft()) 布局=QGridLayout() label1=QLabel('第二个屏幕-请稍候…') label1.setFont(QFont(“Times”,25,QFont.Bold)) layout.addWidget(label1,0,0,Qt.AlignCenter) self.setLayout(布局) QTimer.单次拍摄(5000,自聚焦窗口) def GOTOTHIRD窗口(自): w=第三方(父母=自己) w、 show() self.hide() 类(QMainWindow): 定义初始化(自身,父级): super()。\uuuuu init\uuuuuu(父=父) self.title='第三个窗口' self.top=100 self.left=100 自宽=680 自身高度=500 self.InitUI() self.show() def InitUI(self): self.setWindowTitle(self.title) self.setGeometry(self.top、self.left、self.width、self.height) qtRectangle=self.frameGeometry() centerPoint=QDesktopWidget().availableGeometry().center() qtRectangle.moveCenter(中心点) self.move(qtRectangle.topLeft()) 布局=QGridLayout() label1=QLabel('ThirdWindow屏幕') label1.setFont(QFont(“Times”,25,QFont.Bold)) layout.addWidget(label1,0,0,Qt.AlignCenter) self.setLayout(布局) 如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu': app=QApplication(sys.argv) ex=主窗口() sys.exit(app.exec_())
我测试了您的代码,发现无法找到任务栏,因为您正在创建QDialog实例,而不是窗口,请尝试创建窗口实例,而不是QDialog实例,而不是从一个窗口到另一个窗口接近它。我创建桌面应用程序的方法不同。我首先创建一个PyQtTabWidget,然后隐藏选项卡栏。您只需更改新内容的选项卡我已经尝试过QStackedWidget,但是当您有很多页面时,从索引设置页面看起来并不好。