沒搞多九qt/e,只是想把自己前段時間的學習心得跟大家交流...
此文為本人工作時的小記,其中關於了一些qt/e程式如何在arm開發板上執行的內容.
在虛擬機器中對程式進行編譯時,需要先進行export設定一些路徑,如下:
[root@localhost tmake-1.8]# export tmakedir=$pwd
[root@localhost tmake-1.8]# export tmakepath=$tmakedir/lib/qws/linux-x86-g++
[root@localhost tmake-1.8]# export path=$tmakedir/bin:$path
[root@localhost qt-2.3.7]# export qtdir=$pwd
[root@localhost qt-2.3.7]# export qtedir=$qtdir
[root@localhost qt-2.3.7]# export path=$qtdir/bin:$path
[root@localhost qt-2.3.7]# export ld_library_path=$qtdir/lib:$ld_library_path
上面是將程式編譯成可在虛擬機器下執行(模擬楨緩衝中顯示,即qvfb中顯示)。
如果是要將程式交叉編譯成在開發板中執行的程式, export設定路徑需要改動一處:
[root@localhost tmake-1.8]# export tmakepath=$tmakedir/lib/qws/linux-arm-g++.
在虛擬機器的home/wangxl目錄下面有兩個關於libqte.so檔案的目錄,乙個是lib_qte此為在開發板上qt/lib中的libqte.so等檔案,另乙個lib_qte_old是虛擬機器上qt-2.3.7/lib中的libqte.so等檔案。
要在開發板上顯示虛擬機器中的qte程式,需要在虛擬機器中裝入交叉編譯環境(arm-elf-gcc-3.2-full-tar.bz2與arm-linux-gcc-3.3.tar.bz2,板上自帶程式),裝入位址為:
/usr/local/arm。另需要將/usr/local/arm/3.2-elf/bin與/usr/local/arm/3.3/bin路徑寫入.bash_profile檔案當中。
此外,需要在虛擬機器路徑/usr/local/arm/3.3/lib/gcc-lib/arm-linux/3.3中加入開發板中的libqte.so等四個檔案(位於../qt/lib下),這個是在虛擬機器中將c++檔案編譯成可在開發板中執行的檔案所必須的qte庫支援檔案。
如果是要將編譯為arm下可執行改為編譯為虛擬機器下可執行,需要將前面講到的export設定改動一處,另外,需要刪除makefile檔案,重新建立makefile檔案。
另外,用designer設計的ui檔案生成標頭檔案和cpp檔案的uic命令格式如下:
uic –o test.h test.ui
uic –i test.h –o test.cpp test.ui
由pro檔案生成makefile檔案的格式如下
tmake –o makefile test.pro
另外,開發板從15號開發機上獲取檔案,由於開發板速度慢,用超級終端(串列埠連在開發板與主機之間)對開發板進行操作(但對qte程式執行操作需要在開發板子上操作)。
開發板從開發機獲取可執行檔案命令如下:
wget
http://172.20.6.15/可執行檔名
顯示中文方法一:
qfont unifont("unifont",12,50); unifont.setpixelsize(10);
label = new qlabel( p, "red_label" );
label->setgeometry( qrect( 80, 5, 90, 14 ) );
label->setfont( unifont );
label->settext( qstring::fromutf8("漢字顯示") ) ;
我已經用了三中方法嘗試,但是都有問題,不知道問題在哪兒?
方法一:qlabel *lb=new qlabel(qstring::fromlocal8bit("中文顯示"),this);
顯示出來的是方框。
方法二:qlabel *lb=new qlabel(qstring::fromutf8("中文顯示"),this);
顯示出來的還是方框。
方法三:qtextcodec *code=qtextcodec::codecforname("gbk");
qstring unistr=code->tounicode("中文顯示");
qlabel *lb=new qlabel(unistr,this);
顯示出來的結果是:只顯示了乙個「中」字,其餘的仍然是方框。
我已經很努力的研究了一陣子了,但是不知道是何問題,還請各位高手指點。
能夠顯示漢字,說明qt帶有中文字庫。
靠,這個問題都還在問呀最簡單的方法如下:
qlabel *label11;
label11 = new qlabel(qstring::fromlocal8bit("背光亮度設定"), this );
label11->move(20,10);
label11->resize(150,20);
視窗無邊框方法:
#include
mainform(0,0,qt::wstyle_customize|qt::wstyle_noborder);
form 無邊框 移動視窗
winform 最近想弄乙個桌面專案 用到了 製作無邊框的窗體 這裡記錄下 第一步 將 form1的 fromborderstyle 設定為none 第二步 拖乙個panl 放到 窗體的邊上 設定panel的mosedown 事件 可直接控制的控制項 region 視窗移動 定義無邊框窗體form ...
WPF 無邊框視窗 顯示及退出動畫效果
本次做的是大小縮放 漸隱特效,效果展示 根據我的另一篇文章 wpf 無邊框窗體設定 設定好無邊框視窗後,對maingrid xaml 進行修改 在window.resouse中新增故事板 再新增視窗事件觸發器 這樣視窗顯示完成了,但退出並不能使用eventtrigger事件中的closing或clo...
Qt無邊框視窗1,簡單示例
現在較多軟體使用扁平化的介面風格,設計的很漂亮,感覺也比較簡約。這裡給出一種qt實現這種扁平化主視窗的示例,實現一些基本的標題欄拖放 最大最小關閉按鈕等處理。外觀 mainwindow去掉選單欄 工具條 狀態列等,新增1個widget作為標題欄,它和內容區域使用垂直布局。標題欄新增qlabel,作為...