Qt webview 使用

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");
 }
?>


  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值