当前位置:首页 » 编程软件 » qt脚本

qt脚本

发布时间: 2022-01-27 20:39:25

‘壹’ 如何用Qt从一段js脚本中得到某个对象的值

绑定一个webobject,然后掉函数,作为参数传递进入。

‘贰’ 我使用的是windows下的QT,使用qmake生成的makefile脚本,怎么才能执行makefile脚本

用cmd 进入DOS。。。然后进入你的工程目录,在工程目录下,执行make。注意:make的路径!

‘叁’ 在ubuntu使用Qt完成一个单击按钮调用shell脚本并将脚本运行结果显示到界面中

使用qprocess.
Process = new QProcess();

connect(pppProcess, SIGNAL(readyRead()), this, SLOT(read()));
connect(pppProcess, SIGNAL(finished(int)), this, SLOT(finished()));
pppProcess->start(tr("shell cmd"));

在read函数中
str += Process->readAll();

在finished函数中显示str

‘肆’ Qt怎样调用并传参给shell脚本

方法/步骤 执行“nano test.sh”创建一个新的shell脚本。 脚本test.sh的内容如下: #!/bin/sh name=$1 echo "the ${name} are great man!" 给新创建的test.sh的脚本赋可执行权限,命令为“chmod 755 test.sh”。 执行'./test.sh "xiao wang"'命令,...

‘伍’ 如何在QT下执行shell或外部程序

1、设计gui图形界面,创建一button,并在clicked下添加代码

第一种方法(50行)是调用linux C函数库中的system(const char *string);

第二种方法(51行)和第三种方法(53 54行)是调QT里的函数;

需要说明的时,上面三种方法都是可以的,但前两种方法会阻塞进程,直到smplayer程序结束,而第三种方法则不会阻塞进程,可以多任务运行。

还有,我们知道qt在运行的时候,要启动qws(qtwindows server),如果用前面两种方法,则smplayer运行的时候,要新开启一个qws,否则不能运行;而用第三种方法,则不需要再开启qws,它和HelloQt4共用一个qws,这样,在一个窗口里可以看到这两个程序。

2、新建运行脚本,用来启动smplayer播放器

在上一步中,qt程序执行了
/opt/run_smplayer脚本,但这个脚本是不存在的,我们要新建它,打开开发板的/opt目录,新建一个run_smplayer文件,添加如下内容

#!/bin/sh

#测试用
#cd /opt/
#rm qt_create/
-rf
#sleep 3
#mkdir qt_create
#cd qt_create
#mkdir qt_create1
#cd qt_create1
#mkdir qt_create2
#cd qt_create2
#mkdir ok

#直接调用mplayer播放sdcard里的gq.avi文件
#cd /usr/local/smplayer/bin
#./mplayer /sdcard/gq.avi

#启动友善的smplayer
cd /usr/local/smplayer/bin
./smplayer

3、修改smplayer文件

在友善的根文件系统中,/user/lical/smplayer/bin目录中的smplayer脚本是有问题的,如果直接运行它,会出现鼠标和触摸屏
不能使用的情况,我们要将/bin目录下的smplayer脚本复制过来,并将最后两行中的qws去掉。(前面提到过的,我们要多任务运行,不需要再开一
个qws)

export HOME=/root
cd /usr/local/smplayer/
exe__c ./smplayer #-qws 1>/dev/null
2>/dev/null
// 此处有屏蔽字,真实没有下划线
#hotplug

4、修改rcS文件,使之开机就运行HelloQt4i程序
rcS文件如下:
#!
/bin/sh

PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:
runlevel=S
prevlevel=N
umask 022
export PATH runlevel prevlevel

#
# Trap CTRL-C &c
only in
this shell so we
can interrupt subprocesses.
#
trap ":" INT QUIT TSTP
/bin/hostname Crt

[ -e /proc/1 ]
||
/bin/mount -n -t proc none
/proc
[ -e /sys/class ] ||
/bin/mount -n -t sysfs none /sys
[ -e /dev/tty ]
||
/bin/mount
-t ramfs
none /dev
/bin/mount -n -t usbfs none
/proc/bus/usb

echo /sbin/mdev >
/proc/sys/kernel/hotplug
/sbin/mdev -s
/bin/hotplug
# mounting file system specified in
/etc/fstab
mkdir -p /dev/pts
mkdir -p /dev/shm
/bin/mount -n -t devpts none
/dev/pts -o mode=0622
/bin/mount -n -t tmpfs tmpfs /dev/shm
/bin/mount
-n
-t ramfs
none /tmp
/bin/mount -n -t ramfs none
/var
mkdir -p /var/empty
mkdir -p /var/log
mkdir -p /var/lock
mkdir -p /var/run
mkdir -p /var/tmp

/sbin/hwclock -s

syslogd
/etc/rc.d/init.d/netd start
echo "
"
>
/dev/tty1
echo "Starting networking..."
>
/dev/tty1
sleep 1
/etc/rc.d/init.d/httpd start
echo "
"
>
/dev/tty1
echo "Starting web server..."
>
/dev/tty1
sleep 1
/etc/rc.d/init.d/leds start
echo "
"
>
/dev/tty1
echo "Starting leds service..."
>
/dev/tty1
echo "
"
sleep 1

echo "
"
>
/dev/tty1
/etc/rc.d/init.d/alsaconf start
echo "Loading sound card config..."
>
/dev/tty1
echo "
"
/sbin/ifconfig lo 127.0.0.1
/etc/init.d/ifconfig-eth0

#/bin/qt4 &
#echo "
"
>
/dev/tty1
#echo "Starting Qt4 Applications, please
waiting..."
>
/dev/tty1

#/bin/smplayer &
#echo "
"
>
/dev/tty1
#echo "Starting smplayer Applications, please
waiting..."
>
/dev/tty1

/bin/hello_qt4app &
echo "
"
>
/dev/tty1
echo "Starting
hello_qt4 Applications, please
waiting..."
>
/dev/tty1

hello_qt4app脚本如下:
#!/bin/sh

rm /root/.config/
-rf;
rm /root/.mplayer/
-rf;

if [ -e /etc/friendlyarm-ts-input.conf ] ; then
. /etc/friendlyarm-ts-input.conf
fi
true
${TSLIB_TSDEVICE:=/dev/touchscreen}

TSLIB_CONFFILE=/etc/ts.conf

export TSLIB_TSDEVICE
export TSLIB_CONFFILE

export TSLIB_PLUGINDIR=/usr/lib/ts
export TSLIB_CALIBFILE=/etc/pointercal

export QWS_DISPLAY=:1
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
export PATH=/bin:/sbin:/usr/bin/:/usr/sbin:/usr/local/bin

if [ -c /dev/touchscreen ]; then
export
QWS_MOUSE_PROTO="Tslib:${TSLIB_TSDEVICE}
MouseMan:/dev/input/mice"
if [
-e
/etc/pointercal -a !
-s
/etc/pointercal ] ; then

rm
/etc/pointercal
fi
else
export
QWS_MOUSE_PROTO="MouseMan:/dev/input/mice"
>/etc/pointercal
fi

export QWS_KEYBOARD=TTY:/dev/tty1

export HOME=/root

cd /opt
./hello_qt4
-qws
1>/dev/null
2>/dev/null
hotplug

然后,重启开发板,hello_qt4程序运行了,再点button,播放器也弹出来了。

‘陆’ 什么是QT软件

Qt 是一个1991年由Qt Company开发的跨平台C++图形用户界面应用程序开发框架。

Qt既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。Qt是面向对象的框架,使用特殊的代码生成扩展(称为元对象编译器(Meta Object Compiler, moc))以及一些宏,Qt很容易扩展,并且允许真正地组件编程

2008年,Qt Company科技被诺基亚公司收购,Qt也因此成为诺基亚旗下的编程语言工具。2012年,Qt被Digia收购。

2014年4月,跨平台集成开发环境Qt Creator 3.1.0正式发布,实现了对于iOS的完全支持,新增WinRT、Beautifier等插件,废弃了无python接口的GDB调试支持,集成了基于Clang的C/C++代码模块,并对Android支持做出了调整。

(6)qt脚本扩展阅读

优点:

1、优良的跨平台特性。

Qt支持下列操作系统:Microsoft Windows 95/98、Microsoft Windows NT、Linux、Solaris、SunOS、HP-UX。

Digital UNIX (OSF/1、Tru64)、Irix、FreeBSD、BSD/OS、SCO、AIX、OS390和QNX等。

2、面向对象。

Qt的良好封装机制使得Qt的模块化程度非常高,可重用性较好,对于用户开发来说是非常方便的。Qt提供了一种称为signals/slots 的安全类型来替代callback,这使得各个元件之间的协同工作变得十分简单。

3、丰富的API。

Qt包括多达250个以上的C++类,还提供基于模板的collections、serialization、file、I/O device、directory management和date/time类。甚至还包括正则表达式的处理功能。

4、支持2D/3D图形渲染,支持OpenGL。

‘柒’ QT语言是什么

Qt不是语言,是一个c++类库,多用来编写界面,但是qt类库实际上非常全面,多线程、数据库支持、IO和网络都支持。qt有自己的IDE qtcreator,也可以挂载在vs开发,支持跨平台(windows、linux),安卓也支持但是不推荐用qt写安卓。Qt的文档完整性和可读性非常高,是真正可以照着文档编程的(每个函数都有实例,每个参数都有解释),目前语言支持c++(qt widget项目)、python(pyQt)、Qml(Qt quick项目),qml是qt自己的脚本,类似js

‘捌’ 怎么在qt中 加载js脚本,谢谢

使用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/html; charset=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上跑。)

‘玖’ 怎样用QtCreator编辑运行python脚本

每种实现类都根据自己所实现的协议来完成TProtocol接口函数的功能,例如实现了TProtocol接口的TBinaryProtocol类,对于readDouble()函数就是按照二进制的方式读取出一个Double类型的数据。

热点内容
android设置状态栏的颜色 发布:2024-12-30 03:22:38 浏览:274
魅蓝e2存储卡 发布:2024-12-30 03:21:57 浏览:400
sql语句中if的用法 发布:2024-12-30 03:21:48 浏览:630
配置化疗药物怎么戴手套 发布:2024-12-30 03:20:22 浏览:639
编译apache 发布:2024-12-30 03:11:50 浏览:954
编程教程入门 发布:2024-12-30 03:08:22 浏览:447
怎么录阴阳师视频安卓 发布:2024-12-30 03:06:55 浏览:393
安卓6s手机怎么清内存垃圾 发布:2024-12-30 03:01:14 浏览:434
百度贴吧文件夹 发布:2024-12-30 02:59:47 浏览:97
java开发人员 发布:2024-12-30 02:26:17 浏览:537