添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

为了实现点击按钮关闭窗口并打开新窗口,一开始对原窗口使用self.close()和new_window.show()的方式,新的窗口的GUI会被立即销毁。

self.pushButton.clicked.connect(self.close_dialog) def close_dialog(self): self.close() new_window = NewWindow() new_window.show()

改用self.hide()和self.new_window.show()后实现需求。

self.pushButton.clicked.connect(self.close_dialog) def close_dialog(self): self.hide() self.new_window = NewWindow() self.new_window.show() 为了实现点击按钮关闭窗口并打开新窗口,一开始对原窗口使用self.close()和new_window.show()的方式,新的窗口的GUI会被立即销毁。#... self.pushButton.clicked.connect(self.close_dialog) def close_dialog(self): self.close() new_window = NewWindow() new_window.show()#.. 其中主 窗口 是新建-Main Window,子 窗口 是Dialog窗体。   两个 窗口 不能是同一类型,否则会崩溃。 并保存为EyeTracking_main.ui和EyeTracking_process.ui(因为我在做眼动追踪,因此窗体命名与此相关,后同),使用UIC工具转成.py文件。 2.写 一个 驱动函数调用两个窗体 主窗体Eyetracking_main.py from PyQt 5 import Qt Core, Qt Gui, Qt Widgets class Ui_MainWindow(o 2.使用PyUIC将.ui文件转换成.py文件 右键.ui文件->External Tools->PyUIC 3.新建 一个 **.py文件,大部分操作函数在**.py文件中,防止重新设计 窗口 时造成大量代码丢失 4.**.py文件 #-*- coding:utf-8 -*- from PyQt 5. Qt Widgets import QMainWindow, QApplication from Asimplewindow import Ui_MainWindow import sys class Main(
PyQt 5 关闭 窗口 的同时 关闭 所有子 窗口 重写相关控件的父类的closeEvent()方法即可. 示例代码如下: 重写QMainWindow类的closeEvent()方法 import sys from PyQt 5. Qt Widgets import (QMainWindow, QPushButton, QApplication, QWidget, QMessageBox) from PyQt 5. Qt Core import (QCoreApplic
qt designer中设计好两个 窗口 之后,在pycharm进行编译,生成两个py文件。 给主 窗口 的py文件导入:from “你的副 窗口 文件名” import “你的副 窗口 对象名” 在retranslateUi函数,你要按的按钮下添加: self.pushButton.clicked.connect(self.popWindow) 再写 一个 popwindow函数: def popWind...
``` python import sys from PyQt 5. Qt Widgets import QApplication, QWidget, QPushButton, QLabel, QVBoxLayout class FirstWindow(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): self.setWindowTitle('First Window') self.setGeometry(100, 100, 300, 200) self.label = QLabel('This is the first window', self) self.label.move(50, 50) self.button = QPushButton('Open Second Window', self) self.button.move(50, 100) self.button.clicked.connect(self.open_second_window) def open_second_window(self): self.hide() second_window = SecondWindow(self) second_window.show() class SecondWindow(QWidget): def __init__(self, parent): super().__init__() self.parent = parent self.initUI() def initUI(self): self.setWindowTitle('Second Window') self.setGeometry(100, 100, 300, 200) self.label = QLabel('This is the second window', self) self.label.move(50, 50) self.button = QPushButton('Close Window', self) self.button.move(50, 100) self.button.clicked.connect(self.close_window) def close_window(self): self.close() self.parent.show() if __name__ == '__main__': app = QApplication(sys.argv) first_window = FirstWindow() first_window.show() sys.exit(app.exec_()) 在这个例子中,我们创建了两个 窗口 ,第 一个 窗口 包含 一个 标签和 一个 按钮,点击按钮将 打开 第二个 窗口 。第二个 窗口 包含 一个 标签和 一个 关闭 按钮,点击 关闭 按钮将 关闭 第二个 窗口 并显示第 一个 窗口