教你如何使一个窗口关闭的同时关闭另一个窗口!

我有一个主窗口main.jsp,在其中用window.open(slave.jsp,"windowName",parameter)打开了另一窗口slave.jsp。
我怎样才能让slave.jsp关闭的同时main.jsp自动刷新。
slave.jsp的关闭有两种:
提交给本页后自动关闭

<script>
window.opener.location.reload();
self.close();
</script>


直接点右上角的叉关闭

如果点X关闭(或按alt+f4)的话,
<script>
function window.onbeforeunload(){
if(event.clientX>document.body.clientWidth&&event.clientY<0||event.altKey){
window.opener.loaction.reload()
}
</script>

还可以:

<script language=JavaScript>var Link;function Refresh(Link) {window.opener.location.href=Link;}</script>

<script language=JavaScript>Refresh('WebForm1.aspx');self.close();</script>

如果需要在帧结构页面中,帧中子页面调用存放帧结构的主页面时,可使用parent对象。如:

<script language=JavaScript>parent.self.close();</script>

在PyQt5中,可以通过信号与槽机制来实现关闭一个窗口后自动打开另一个窗口的功能。具体步骤如下: 1. 创建两个窗口类,分别表示要关闭窗口和要打开的窗口。 ```python from PyQt5.QtWidgets import QApplication, QWidget, QPushButton class CloseWindow(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): self.setGeometry(100, 100, 300, 200) self.setWindowTitle('Close Window') button = QPushButton('Close', self) button.clicked.connect(self.close) class OpenWindow(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): self.setGeometry(400, 100, 300, 200) self.setWindowTitle('Open Window') ``` 2. 在关闭窗口的类中,通过重写`closeEvent`方法来发送一个信号,表示窗口即将关闭。 ```python from PyQt5.QtCore import pyqtSignal from PyQt5.QtWidgets import QApplication, QWidget, QPushButton class CloseWindow(QWidget): close_signal = pyqtSignal() def __init__(self): super().__init__() self.initUI() def initUI(self): self.setGeometry(100, 100, 300, 200) self.setWindowTitle('Close Window') button = QPushButton('Close', self) button.clicked.connect(self.close) def closeEvent(self, event): self.close_signal.emit() event.accept() ``` 3. 在主程序中,创建两个窗口对象,并连接关闭信号与打开槽函数。 ```python from PyQt5.QtWidgets import QApplication if __name__ == '__main__': app = QApplication([]) close_window = CloseWindow() open_window = OpenWindow() close_window.close_signal.connect(open_window.show) close_window.show() app.exec_() ``` 这样,当关闭窗口时,会发送关闭信号,然后打开窗口的槽函数会被触发,从而实现关闭一个窗口后自动打开另一个窗口的效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值