溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

QtE必備知識(shí)有哪些

發(fā)布時(shí)間:2021-12-15 09:55:01 來(lái)源:億速云 閱讀:121 作者:iii 欄目:互聯(lián)網(wǎng)科技

本篇內(nèi)容介紹了“QtE必備知識(shí)有哪些”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

1.開(kāi)機(jī)啟動(dòng)腳本
開(kāi)機(jī)啟動(dòng)腳本文件是“/etc/init.d/rcS”,大部分操作系統(tǒng)都有類似的文件。該文件中的代碼屬于腳本語(yǔ)言,比較容易理解。
下面截取有代表性的分析一下。注意,下面的代碼行數(shù)可能和用戶的不能直接對(duì)應(yīng),這里并不影響用戶學(xué)習(xí),這里主要是了解整個(gè)啟動(dòng)流程,以及在啟動(dòng)過(guò)程中,都做了哪些事情。
01 #! /bin/sh
02 PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:
03 runlevel=S
04 prevlevel=N
05 umask 022
06 export PATH runlevel prevlevel
代碼分析
01 #! /bin/sh 是指此腳本使用/bin/sh 來(lái)解釋執(zhí)行,#!是特殊的表示符,后面是解釋此腳本的 shell 的路徑。
02 PATH=XX 是設(shè)置默認(rèn)的有效執(zhí)行路徑,代表 root 根目錄下的路徑。
03 這里是設(shè)置用戶等級(jí),這里默認(rèn)為單用戶。(用戶記不記得,Linux 是多用戶的)
04 表示用戶創(chuàng)建的新文件權(quán)限為 755
05 設(shè)置環(huán)境變量(和搭建編譯環(huán)境時(shí)修改 Ubuntu 的環(huán)境變量類似)
12 /bin/hostname iTOP-4412
14 #/bin/mount -n -t proc none /proc
23 /sbin/mdev -s
24 /bin/hotplug
39 ln -sf /dev/ttyS2 /dev/tty2
43 amixer cset numid=5 127
50 /sbin/hwclock -s -f /dev/rtc
52 syslogd
12 設(shè)置主機(jī)名稱為 iTOP-4412,在這里用戶可以修改為自己的名稱。
14 使用 mount 命令設(shè)置常用臨時(shí)目錄
23 mdev 命令自動(dòng)產(chǎn)生驅(qū)動(dòng)所需的節(jié)點(diǎn)文件
24 hotplug 掛載 USB 設(shè)備
39 ln 命令建立鏈接
43 amixer 設(shè)置音頻的參數(shù)
50 hwclock 設(shè)置時(shí)鐘
52 syslogd 記錄系統(tǒng)運(yùn)行的各種訊息
53 /etc/rc.d/init.d/netd start
……
81 /sbin/ifconfig lo 127.0.0.1
……
87 echo "Starting Qtopia4, please waiting..."
啟動(dòng)各種服務(wù)程序
ifconfig 配置網(wǎng)絡(luò)
echo 命令向輸出終端打印信息
89 #/bin/qtopia &
“#”就是注釋掉這一行,“&”表示在后臺(tái)運(yùn)行
91 /bin/helloworld -qws &
表示運(yùn)行“helloworld”的時(shí)候,QWS 功能啟動(dòng),“QWS”是 QT 的窗口系統(tǒng),也就是需要加上“-qws”,屏幕才能顯示。

注意,腳本命令比較容易理解,通過(guò)本節(jié)的分析,相信用戶已經(jīng)具備了一定的閱讀腳本代碼的能力,在手冊(cè)后面部分,腳本命令就不給大家做詳細(xì)的分析了。大家只需要在遇到腳本命令的時(shí)候去學(xué)習(xí)即可,這里只是學(xué)習(xí)和理解腳本文件的一個(gè)引子。

2. qt4 文件的移植和修改(鼠標(biāo)觸摸以及字體)
在 7.4 小節(jié)介紹配置文件的時(shí)候,提到迅為制作的觸摸庫(kù)文件“/usr/local/tslib”,迅為已經(jīng)將觸摸功能編譯到 Qt/E4.7.1 的庫(kù)文件中,開(kāi)發(fā)板可以支持觸摸和鼠標(biāo)功能。
用戶在前面運(yùn)行 helloworld 的時(shí)候,會(huì)發(fā)現(xiàn)觸摸和鼠標(biāo)似乎無(wú)法使用,但是在 qt4 中卻能使用觸摸和鼠標(biāo)。

這一小節(jié)就介紹如何將 qt4 的觸摸功能移植到應(yīng)用程序 helloworld 中。
如下圖,打開(kāi)“etc/init.d/rcS”文件,將最后一行修改為“/bin/qt4_shell &”,這樣在開(kāi)機(jī)之后系統(tǒng)會(huì)運(yùn)行 qt4.shell 程序。修改完成之后,保存退出。
QtE必備知識(shí)有哪些
然后使用命令“#cp -r bin/qt4 bin/qt4.shell”將“bin/qt4”文件拷貝生成“bin/qt4.shell”文件,如下圖所示。
QtE必備知識(shí)有哪些 

然后打開(kāi)“bin/qt4.shell”文件,如下圖所示。
代碼“export TSLIB_ROOT=/usr/local/tslib”等調(diào)用了觸摸和鼠標(biāo)驅(qū)動(dòng)。
代碼“export QTDIR=/opt/qt-4.7.1/”調(diào)用了 QtE 的庫(kù)。
如下圖所示,這一段關(guān)于鼠標(biāo)的驅(qū)動(dòng)已經(jīng)被注釋掉了。
QtE必備知識(shí)有哪些
將上圖中與觸摸鼠標(biāo)相關(guān)代碼修改為下面的代碼。
if [! -c /dev/input/event2 ]; then
export QWS_MOUSE_PROTO='Tslib:/dev/input/event2'
#if [ -e /etc/pointercal -a ! -s /etc/pointercal ] ; then
if [ -e /etc/pointercal ] ; then
fsize=$(/bin/ls -al /etc/pointercal | cut -d' ' -f 23)
echo $fsize
#if [ -s /etc/pointercal ]; then
if [ $fsize -ge "1" ]; then
echo "/etc/pointercal is exit"
else
echo "/etc/pointercal is empty"
rm /etc/pointercal
/usr/local/tslib/bin/ts_calibrate
fi
else
echo "/etc/pointercal not found"
/usr/local/tslib/bin/ts_calibrate
fi
else
export QWS_MOUSE_PROTO="MouseMan:/dev/input/mice"
#>/etc/pointercal
fi
#export QWS_MOUSE_PROTO="TslibQtE必備知識(shí)有哪些{TSLIB_TSDEVICE}"
#/usr/local/tslib/bin/ts_calibrate
上面代碼第一行,有“!”則支持鼠標(biāo);觸摸應(yīng)該不能正常使用。
如果去掉“!”則支持觸摸。需要先校準(zhǔn),使用上面這段代碼只用校準(zhǔn)一次即可,不用每次都校驗(yàn)。
另外如果用戶在第一次校準(zhǔn)的時(shí)候,沒(méi)有依次點(diǎn)擊“十字框”,則觸摸文件可能有問(wèn)題,那么可以參考 7.3.3 小節(jié),刪除掉“/etc/point*”文件,重啟開(kāi)發(fā)板再次校準(zhǔn)。
修改這段代碼之后,最好刪除一下“/etc/point*”文件。例如,如果用戶剛開(kāi)始使用的是觸摸,然后改成鼠標(biāo)控制,因?yàn)橐呀?jīng)存在“/etc/point*”文件,所以會(huì)讓人感覺(jué)鼠標(biāo)可以使用,觸摸能夠使用但是有問(wèn)題,這個(gè)時(shí)候刪除“/etc/point*”文件重啟即可。
如下圖所示,接著找到控制字體的參數(shù)。
QtE必備知識(shí)有哪些 

如上圖,將下面三行刪除,避免字體太大導(dǎo)致顯示不正常。
*)
export QWS_DISPLAY="LinuxFb:mmWidth91:mmHeight53:1"
;;
如下圖所示,進(jìn)入最后一行,紅色框默認(rèn)會(huì)啟動(dòng) QtE 自帶的例程,這里修改為
“./bin/helloworld -qws”,紅色框中的代碼記得注釋或者刪除。
QtE必備知識(shí)有哪些

3.qt 掛載盤符
linux QT 系統(tǒng)下掛載 u 盤
如下圖所示,qt 啟動(dòng)之后,在超級(jí)終端中使用命令“mknod /dev/sda1 b 8 1”創(chuàng)建 U盤的設(shè)備節(jié)點(diǎn),如下圖所示。
QtE必備知識(shí)有哪些
插入 U 盤之后,如下圖所示插入 U 盤之后會(huì)彈出加載信息。
QtE必備知識(shí)有哪些
在超級(jí)終端中使用命令“mount /dev/sda1 /mnt/udisk/”即可掛載 U 盤。
QtE必備知識(shí)有哪些
如下圖所示。使用查找命令“l(fā)s /mnt/udisk”,可以看到 U 盤中的內(nèi)容。下圖中綠色文件是作者在 U 盤中建的一個(gè)小文件,這里可以看到。
QtE必備知識(shí)有哪些
linux QT 系統(tǒng)下掛載 tf 卡
如果用戶使用的是 tf 卡,如下圖所示,tf 卡插入 tf 卡槽之后會(huì)彈出下面的信息。
QtE必備知識(shí)有哪些
如下圖所示,先使用命令“midir /mnt/udisk1”,使用加載 tf 卡的命令“mount/dev/mmcblk1p1 /mnt/udisk1”,p1 是上面開(kāi)發(fā)板識(shí)別出來(lái)的編號(hào),要根據(jù)實(shí)際情況修改。
QtE必備知識(shí)有哪些
然后使用查找命令“l(fā)s /mnt/udisk1”,可以看到 tf 卡中的文件。
QtE必備知識(shí)有哪些

“QtE必備知識(shí)有哪些”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

qt
AI