當前位置:首頁 » 編程軟體 » 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類型的數據。

熱點內容
手指演算法一 發布:2025-01-02 02:58:00 瀏覽:444
pythonbuiltin 發布:2025-01-02 02:57:17 瀏覽:331
緩存youtube視頻 發布:2025-01-02 02:46:28 瀏覽:37
數據加密書籍 發布:2025-01-02 02:37:30 瀏覽:262
ftp上傳網站源碼 發布:2025-01-02 02:36:04 瀏覽:408
汽油壓縮機響 發布:2025-01-02 02:04:26 瀏覽:746
加密標准制定 發布:2025-01-02 02:04:16 瀏覽:195
華為手機如何添加文件夾 發布:2025-01-02 01:58:26 瀏覽:623
java通訊錄 發布:2025-01-02 01:54:45 瀏覽:65
伺服器上的ip怎麼查 發布:2025-01-02 01:45:08 瀏覽:680