1.在.pro文件中添加
QT += webkitwidgets
QT += network
这里.h和.cpp都是c++类
在.h文件中添加头文件
#include <QWebView>
#include <QNetworkRequest>
#include <QNetworkAccessManager>
在类中添加函数
void javaScriptWindowObject();
再添加变量
QWebView* webview;
在.cpp文件构造函数中添加
webview = new QWebView(widget);
webview->setGeometry(screen_size.width()/8*2,screen_size.height()/16*3,screen_size.width()/7*4,screen_size.height()/2);
webview->setVisible(true);
webview->setUrl(QUrl("qrc:/html/index4.html"));
javaScriptWindowObject函数的实现
webview->page()->mainFrame()->addToJavaScriptWindowObject("js",widget1);
在界面函数中需要添加connect 函数链接槽和信号
connect(cprint->getwebview()->page()->mainFrame(),SIGNAL(javaScriptWindowObjectCleared()),this,SLOT(cprint->javaScriptWindowObject()));
然后将网页和js添加到资源中
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>中文</title>
</head>
<script type="text/javascript" src="qrc:/html/test.js"></script>
<body>
<form action = "http://服务器地址/f1.php" enctype="multipart/form-data" method = "post" id ="form1">
<center>
<input type="file" name="file_1" id = "file_1" /><br><p/>
xxxxxxx:
<input type="text" name ="xxxx" id="xxxx"/><br><p/>
yyyyyy:
<input type="text" name = "yyyyyy" id = "yyyyyy"/>
<input type = "button" value = "提交" οnclick="test()">
</center>
</form>
</body>
</html>
js代码
/*window.onload =第一次调用需要添加*/function func() {
var wID = js.sendwstr();
var eID = js.sendestr();
var fID = js.sendfstr();
document.getElementById("xxxx").value = wID;
document.getElementById("yyyy").value = eID;
document.getElementById("file_1").value = fID;
}
function test()
{
func();
document.getElementById("form1").submit();
}
这样就可以实现给网页动态赋值,但是file控制不允许后台给值
在服务器端使用php接收html上传的数据
<?php
header ('Content-type: text/php;charset=UTF-8');
//echo iconv("GB2312","UTF-8",'中文');
if(NULL!=$_POST['w'])
$sendweixin = $_POST['xxxx'];
if(NULL!=$_POST['e'])
$sendemail = $_POST['yyyy'];
echo $_FILES["file_1"]["type"];
define('MAX_SIZE',20000000);
if($_FILES["file_1"]["error"]>0)
{
echo "文件上传失败";
}
else
{
if($_FILES["file_1"]["type"]!='image/jpeg' && $_FILES["file_1"]["type"]!="image/pjpeg" && $_FILES["file_1"]["type"]!="image/png" && $_FILES["file_1"]["type"]!="image/gif")
{
echo "<script>alert('图片格式不正确!请重新上传!');history.back();</script>";
}
else{
if($_FILES["file_1"]["size"]>MAX_SIZE)
{
echo "<script>alert('文件大小超出范围!');history.back();</script>";
}
}
if(move_uploaded_file($_FILES["file_1"]["tmp_name"],"image/".date("y-m-d",time()).$_FILES["file_1"]["name"]))
echo "文件上传成功";
//echo $sendweixin;
//echo $sendemail;
$pict_name = date("y-m-d",time()).$_FILES["file_1"]["name"];
setcookie("link_sendweixin",$sendweixin);
setcookie("link_sendemail",$sendemail);
setcookie("link_Position",$pict_name);
//setcookie("link_servermail",$servermail);
//session_start();
//$_SESSION["temp"]=array($sendweixin,$sendemail);
header("location:insertsql.php");
}
?>