QT5父窗口怎么向pyqt父子窗口传值值

\ js实现父页面弹出子页面,子页面传值给父页面
js实现父页面弹出子页面,子页面传值给父页面
这位童鞋很懒,什么也没有留下~~!
1:弹窗式,通过使用window.showModalDialog(),(点击父页面上的链接弹出子窗口,在子窗口中点击确定传值到父页面);
父页面parent.html,html代码:
&meta http-equiv="Content-Type" content="text/ charset=utf-8"&
&script language="JavaScript"&
a=window.showModalDialog('child.html',"_blank",'dialogWidth:480dialogHeight:460center:resizable:scroll:no');
document.dForm.p.value=a;
&form name="dForm" id="dForm" method="post" onsubmit="return dFormCK();" action="abc.php"&
&input type="text" size="30" name="p" id="p" value=""/&
&a href="javascript:void(0);" onclick="show();"&ShowModelDialog&/a&
子窗口child.html,html代码:
&meta http-equiv="Content-Type" content="text/ charset=utf-8"&
&base target="_self"&
&input type="button" onclick="JavaScript:window.returnValue='hahahhah';window.close();" value="sure"&
&input type="button" onclick="JavaScript:window.returnValue='';window.close();" value="cancel"&
2:新页面式,通过使用window.open(),( 点击父页面按钮跳转到新页面,也就是子页面,点击子页面的链接将值传递回父页面中);
父页面parent.html,html代码:
&title& parent &/title&
&script language="JavaScript"&
function method(){
window.open("child.html");
&/script &
&form method=podt action="" &
&input type="text" name="" id="text1"&&br&
&input type="button" value="foward" onclick="method()"&
子页面child.html,html代码:
&title&child&/title&
&script language="JavaScript"&
function getValue(str){
window.opener.document.getElementById("text1").value=
window.close();
&/script &
&a href="" onclick="getValue('11')"&11&/a&
&a href="" onclick="getValue('22')"&22&/a&
&a href="" onclick="getValue('33')"&33&/a&
&a href="" onclick="getValue('44')"&44&/a&
相关标签:
请登录后,发表评论
评论(Enter+Ctrl)
评论加载中...
评论加载中...
Copyright (C)
All Rights Reserved | 京ICP备 号-2博客访问: 5558740
博文数量: 994
博客积分: 15795
博客等级: 上将
技术积分: 16568
注册时间:
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: 嵌入式
对话框的出现用于完成一个简单的或者是短期的任务。对话框与主窗口之间的数据交互相当重要。对话框分为模态和非模态两种。我们也将以这两种为例,分别进行阐述。
模态对话框使用了&exec()&函数将其显示出来。exec()&函数执行代码就会被阻塞,后面的语句也就不会被执行到。因此,对于使用了&exec()&显示的模态对话框,我们可以在exec()&函数之后直接从对话框的对象获取到数据值。
实际上,QDialog::exec()&是有返回值的,其返回值是&QDialog::Accepted或者&QDialog::Rejected。一般我们会使用类似下面的代码:
QDialog dialog(this);
if (dialog.exec() == QDialog::Accepted) {
&&&&// do something
&&&&// do something else
如果是非模态对话框,QDialog::show()&函数会立即返回,我们换一种思路获取数据,那就是使用信号槽机制
由于非模态对话框在关闭时可以调用&QDialog::accept()&或者QDialog::reject()&或者更通用的&QDialog::done()&函数,所以我们可以在这里发出信号。另外,如果找不到合适的信号发出点,我们可以重写QDialog::closeEvent()&函数,在这里发出信号。在需要接收数据的窗口(这里是主窗口)连接到这个信号即可。类似的代码片段如下所示
// in dialog:
void UserAgeDialog::accept()
&&&&emit userAgeChanged(newAge); // newAge is an int
&&&&QDialog::accept();
// in main window:
void MainWindow::showUserAgeDialog()
&&&&UserAgeDialog *dialog = new UserAgeDialog(this);
&&&&connect(dialog, &UserAgeDialog::userAgeChanged, this, &MainWindow::setUserAge);
&&&&dialog-&show();
void MainWindow::setUserAge(int age)
&&&&userAge = age;
阅读(11438) | 评论(0) | 转发(2) |
相关热门文章
给主人留下些什么吧!~~
请登录后评论。

我要回帖

更多关于 h5 页子父窗口传值 的文章

 

随机推荐