qt脚本怎么导入md管理器

qt脚本怎么导入md管理器,第1张

1、打开md管理器,点击“文件”菜单,选择“导入”;

2、在d出的对话框中,选择要导入的qt脚本文件;

3、点击“确定”按钮,即可完成qt脚本的导入。

等待输入中

我们首先来看看QtCreator能不能编辑运行python脚本。

可以看到新建项目的选项里并没有python相关的选项,看了并不能用QtCreator来管理python项目。

我们来看看另一个方面,看看QtCreator能不能创建编辑python的相关文件吧。

可以看到,有python的相关选项,点击左侧的Python标签,在中间部分可以看到有Python class和Python file两个选项。

这里我们选择Python file,然后点击choose按钮。然后在名称一栏输入qtpythondemo,然后点击下一步。再点击完成,就进入到编辑界面了。我们来看看情况。

可以看到确实可以编辑python脚本文件。

我们来看看能否运行该脚本,在脚本里输入:

print("hello world")

可是我们发现调试菜单,以及界面左下角的运行等按钮都是灰色的,显然用不了。

如果,QtCreator只能进行编辑的话,还不如直接使用IDLE来的方便,或者任何一个功能稍强大的文本编辑器更好,这样岂不是很鸡肋。

下面,我们给QtCreator添加上执行python脚本的功能。

点击,工具菜单,选项打开选项窗口。

点击界面左侧的 环境,右侧选择 外部工具 标签,再点击下面的 添加 按钮,先选择 添加目录 ,然后将新类别修改为RunPy,这个你可以自己取。

点击选中RunPy,然后再点击 添加 按钮,选择 添加工具。这时右侧的灰色区域就处于可编辑状态了。当然新工具也要命名,就用Python3吧。

下面,我们需要对右侧的内容进行编辑设置。具体如下:

1、说明:可以是任何你喜欢的内容,这里我们输入“运行编辑的Python3脚本”

2、执行档:就是python的可执行文件路径,我的是C:\Python34\python.exe

3、参数:输入 %{CurrentDocument:FilePath}

4、工作目录:%{CurrentDocument:Path}

5、Environment:QT_LOGGING_TO_CONSOLE=1

其他的默认即可。上面带有%的是QtCreator的内置环境变量而已,当我们选中某个文本框时,可以看到文本框右侧有个ABC字母的按钮,点开后可以看到很多环境变量列表。

最后,点击Apply和OK即可。

我们来看看配置完成后的情况。

好了,配置完成后,我们来看看怎么运行。

可是调试菜单和左下角的按钮还是灰色呀,没关系。我们刚才是在外部工具的标签页里添加的设置,那就去外部工具找找吧。

我们看到了 外部-RunPy-Python3 正是我们刚刚设置的。

点击Python3看看有什么会发生。

我们看到,界面下方d出了 概要信息 窗口,里面正是上面 python 脚本的输出。YES!我们成功了!

使用Webkit library (可以说是纯QT实现)

代码量不多,直接贴代码 (读起来一点不痛苦的) :

myWebView = new QWebView(this)//this 是main window widget, myWebView 是它的成员变量

myWebView->page()->settings()->setAttribute(QWebSettings::JavascriptEnabled, true)

myWebView->page()->settings()->setAttribute(QWebSettings::PluginsEnabled,true)

myWebView->page()->mainFrame()->addToJavaScriptWindowObject("mainWindowObject", this)//html页面中,可以通过"mainWindowObject"这个对象名访问主控件中的方法 (slot)

setCentralWidget(myWebView)

myWebView->setUrl( xxx )//xxx是你的url或本地html路径

//. . .

class MainWindow : public QMainWindow

{

//. . .

public slots:

void CPlusPlusFunction(const QString&str) //这个函数是将被JavaScript调用的

{

myWebView->page()->mainFrame()->uateJavaScript( QObject::tr("jsFunction('Popup Dialog')") )

}

}

HTML文件内容如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/htmlcharset=utf-8" />

<title>myjstest</title>

<script language="JavaScript" type="text/javascript">

function jsFunction(values) //this function will be called from C++ codes

{

alert(values)

}

function test()

{

mainWindowObject.CPlusPlusFunction( "calling C++ function from javaScript" )

}

</script>

</head>

<body>

<div id="dest"></div><form action="" method="post">

<input type="button" name="" value="myTest" onclick="test()" />

</form>

</body>

</html>

这种方法,使用Webkit作为浏览器,如果你的页面使用了ActiveX控件(比如google earth插件),则不能正常工作。

这种情况下,你需要放弃Webkit,在主程序中调用IE 控件(WebBrowser Control)作为浏览器。(但是这样也失去了跨平台的支持,因为IE只能在Wndosw上跑。)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11376569.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存