qt4編程
1. qt4還有人用嗎
還是有人會用的。
Qt是一個跨平台的C++圖形用戶界面庫,由挪威TrollTech公司於1995年底出品。現已經被諾基亞收購了。它提供給應用程序開發者建立藝術級的圖形用戶界面所需的所用功能。Qt是完全面向對象的,很容易擴展,並且允虧埋許真正地組件編銷正螞程清春。
簡單的說,QT就是用來編寫C++程序的。QT4.4.0就是QT4的一個版本。
不知您使用的是哪個Linux,Ubuntu(Den類)中的最為容易,可以在軟體中心直接下載,然後在終端輸入
$sudo apt-get install qdevelop
之後就可以在Qt上進行軟體開發了
如果在Fedora中(Redhat類),首先要查一下Qt軟體依賴的文件,先將依賴的軟體包安裝後即可安裝Qt
可以參考這本書
C++ GUI Programing with Qt4 (2nd edition)
中文名叫
C++ GUI Qt4程序設計
3. qt里所有類的名字和作用
這么多個類,這么繁雜的集成體系,省省吧少年。
現在又中文資料的都是qt4的。
比如C++ GUI Qt4編程(c++ programming with qt4)
精通Qt4、Qtcreator快速入門這三本基本內容相似,都是入門類的。其中講飢碼得最鬧姿好的是C++ programming with qt4.但是對於入門有些難,推薦使用剩下的兩本之一。
你說你英語不好是吧,這純屬借口,Qt類的明明是用駝峰命名法的,單詞都是常用單詞,你說你看不懂我只能說你也不用學Qt了,去學C#之類的吧。畢竟Qt的大部分資料和論壇都是英文的,很少有中文的。歡迎你爛彎哪把Qt降到4.8.4。 Qt5非常不穩定。
4. 安裝QT4後建立工程運行qmake-project提示qmake:command not find
要把C:\Qt\4.5.2\bin(你安裝Qt的目錄里的bin目錄)加到PATH環境變數里。
先運行set path=C:\Qt\4.5.2\bin;%path%再試試。
我是按照qt-win-opensource-src-4.5.2.zip裡面的README和INSTALL說的去編譯安裝的。
5. 嵌入式軟體專業如何
嵌入式作為國內近幾年比較火熱的專業,也就是和前幾年計算機專業一樣。前些年計算機專業做為一個火熱的專業各大高校一片熱招,但由於學校師資有限、教材落後,最後導致學生畢業後找不到工作。
近幾年嵌入式又是一片火熱,各大高校紛紛熱招,但是部分高校設備不夠齊全、師資不夠,在不久幾年裡嵌入式專業又將重蹈計算機覆轍。現在好多在校大學生和工作人員對於嵌入式專業十分感興趣。下面我就個人經驗來說一下嵌入式的學習方法,如有不到之處請高人指點。
嵌入式的定義是以應用為中心,以計算機技術為基礎,並且軟硬體可定製,適用於各種應用場合,對功能、可靠性、成本、體積、功耗有嚴格要求的專用計算機系統。它一般由嵌入式微處理器、外圍硬體設備、嵌入式操作系統以及用戶的應用程序等四個部分組成,用於實現對其他設備的控制、監視或管理等功能。嵌入式系統幾乎包括了生活中的所有電器設備,如掌早譽扒上PDA、移動計算設備、電視機頂盒、手機上網、數字電視、多媒體、汽車、微波爐、數字相機、家庭自動化系統、電梯、空調、安全系統、自動售貨機、蜂窩式電話、消費電子設備、工業自動化儀表與醫療儀器等。
嵌入式系統一般指非PC系統,它包括硬體和軟體兩部分。硬體包括處理器/微處理器、存儲器及外設器件和I/O埠、圖形控制器等。軟體部分包括操作系統軟體(OS)(要求實時和多任務操作)和應用程序編程。有時設計人員把這兩種軟體組合在一起。應用程序控制著系統的運作和行為;而操作系統控制著應用程序編程與虛局硬體的交互作用。
這時嵌入式就以計算機為基礎從事相關設備的開發了,試問前些年沒有做好計算機教學的學校,又何以從事嵌入式教學呢。
對於在校大學生應該C語言基礎知識,光是學習譚浩強的還不夠,多看一些國外的經典書籍,如,這是每位學習程序設計的人員必備知識。由於嵌入式是軟體和硬體相結合的產物,所以對於操作系統和微機原理的學習也是不可缺少的,但是現在各大高校只是停留在理論知識的講解,並沒有實際上的東西,這也就導致學生不能提高興趣,只是用於對付考試,所以學好操作系統和微機原理應該理論實際相結合。還有數據結構這一門課程是不得不提的課程,國內出名的也就是清華大學的嚴蔚敏的那本書了。學好這些東西這也就是相當於武俠小說中的內功的修養。
有了這些做為基礎,去學習其他的一些東西就會很快的。
嵌入式分為嵌入式軟體開發和陸昌嵌入式硬體開發,嵌入式的軟體開發在掌握了以上東西後要如魚得水。
下面就以萬達嵌入式Linux培訓的課程體系為例,個人感覺還是不錯的。他是這樣列的:
Linux基礎、Linux應用程序開發、嵌入式Linux網路程序開發、嵌入式圖形界面與資料庫開發、嵌入式linux開發環境搭建、S3C2440的內部結構功能簡介、BootLoader分析和移植、Linux內核移植、uCOSII源碼分析和移植、根文件系統製作、BootLoader、內核綜合解析、Linux系統調試、ADS模擬調試與S3C2440硬體介面操作、ARM11介面、Linux下字元設備驅動程序、Linux下塊設備驅動程序、Linux下網路設備驅動程序、LCD設備驅動、Flash設備驅動、USB驅動開發等。
要學習一個東西肯定要先學習他的操作,這就是linux基礎,也就是常用的linux操作,這樣的書籍太多了,找一些實用的來看就可以了。下來就是在我們先前學習的C語言的基礎上學習linux上的程序開發,這門課程現在在好多學校都沒有開設,對於程序開發者來說是一門很重要的課程,不過萬達嵌入式是把網路程序開發和圖形界面開發與資料庫開發分開了,其實這些都屬於linux上的應用程序開發,可能也是為了方便大家認識這一門課程吧,條理更加清楚了。這一內容是企業開發中應用最多的內容,也就是所謂的嵌入式應用層開發。有了深入的C語言基礎這些內容都是很容易學會的。比較知名的書籍有已幫的的steves先生的《UNIX環境高級編程》可以說是UNIX編程「聖經,這本書一定要好好的拜讀的。對於網路程序開發也是stevens先生的《UNIX網路編程》,如果你想深入的掌握的話可以看一下《TCP/IP協議三卷》。對於圖形界面的開發大家可以看一下JasminBlanchette的《CGUIQt4編程(第2版)》。掌握這些基本上就可以從事應用層開發了。這些技術都是企業內部急用的內容。
由於嵌入式的開發不是在我們平時用的x86平台上用的,所以我們需要把我們所寫的程序放到相應的平台上去,這時就用到了嵌入式開發環境的搭建(見上面的課程體系),開發環境的搭建主要就是交叉編譯開發環境的搭建,這個東西你可以去網上去下,也可以自己動手去做,但在實際當中用的時候需要你自己動手去搭建。建議你先自己使用,然後慢慢的學著去搭建。
對於ARM9的操作,現在市場上主要是2410和2440,二個選擇一個用就可以了,內容差不太多,認真的研究透一個就可以了,對於ARM11的6410的操作就先不要考慮了,在萬達嵌入式的課程體系中也安裝的也挺合理的,先是學習一下2410或2440再去學習6410,有了一定的基礎後再去學習6410才有可能把它操作起來。對於介面的一些操作就是把ARM當做一個單片機來操作,這樣的書籍可以去看一下周立功的書籍,它們對ARM說的挺多的,不過他們用不是三星的產品,但是懂了其中一個其它的操作起也就可以了。
對於2440的操作會了以後就可以去學習BootLoader的學習了,在萬達嵌入式裡面說的是BootLoader的,這里只是說了一個總稱,這里主要有u-boot,vivi,LILO等,如果你用的是ARM你可以先自己選擇一個小的BootLoader,比如vivi來學習,學會這一個了你去操作其它的都是一樣的了。
對於操作系統的移植大體過程都是一樣的,主要是讓你做一個最小系統,方便以後驅動的學習。對於嵌入式系統移植的話這方面還真沒有太多好的書籍,自己可以去網上搜一下。
對於基礎知識都打好以後就可以進攻驅動程序開發,這個東西是一個比較漫長的過程,一定要靜下心來,慢慢的去閱讀代碼,慢慢的去學習。這樣的東西大家可以看一下《Linux內核源碼情景分析》、《深入理解Linux內核》等書籍。在萬達嵌入式的課程體系裡面他們說到了好多關於驅動開發中的實例,確實是這樣子,驅動開發肯定要多接觸一些典型的驅動程序開發的案例,大家可以慢慢的跟著課程體系裡面的東西去學習。
另外就是嵌入式的硬體的開發,主要就是所謂的FPGA、DSP、VHDL等。這些東西在大學裡面基本上都會學到大家都可以去學習一下,自己試著做出來一些東西來。比如抄板子,一點一點的去劃。
好了對於嵌入式的學習在這里就說這些,如果有不正之處請大家指正。
6. QT4:undefined reference to `qInitResources_FindFile()'
在工程中將xx.qrc文件加入,重新編譯即可。如果編譯中出現找不到某些資源的話,比如image下的圖標,請將image文件夾放入xx.qrc同級目錄下
7. vs2008中如何安裝qt4
最主要是配置include和lib
在VS2008中使用Qt編程
一、安裝所需軟體
1.下載安裝VS2008;
2.下載qt-win-opensource-4.7.0-vs2008.exe,並安裝。這里我們假設安裝在C:Qt4.7.0下;
3.下載qt-vs-addin-1.1.7.exe,並安裝。
這後面兩個軟體安裝好後,在VS的菜單界面上就會出現"QT"選項了。
二、環境配置
1.用VS新建一個win32控制台應用程序,我們假設工程名為:Hello。
2.選擇工具->選項->項目和解決方案->VC++目錄。
(1)選擇「可執行文件」,在裡面添加:C:Qt4.7.0in;
(2)選擇「包含文件」,在裡面添加:C:Qt4.7.0include;C:Qt4.7.0includeQt;C:Qt4.7.0includeQtCore;C:Qt4.7.0includeQtGui
(3)選擇「庫文件」,在裡面添加:C:Qt4.7.0lib;
三、開始編程(這里舉一個簡單的例子)
1.選擇菜單上的「QT」選項->「LaunchDesigner」,啟動designer:放入一個「label」,內容
寫為:helloQT。然後保存為Hello.ui,再將它添加到源文件中。
右擊「Hello.ui」->「屬性」->「自定義生成步驟」:
命令行:uic.exeHello.ui-oHelloUi.h
輸出:HelloUi.h
附加依賴項:uic.exe;Hello.ui
然後,點擊「確定」。這時再右擊「Hello.ui」,選擇「編譯」,則會生成HelloUi.h。
將它添加到工程中。
2.在Hello.cpp中編寫代碼如下:
1.#include"stdafx.h"
2.#include"HelloUi.h"
3.#include<QtGui/QApplication>
4.#include<QtGui/QMainWindow>
5.
6.int_tmain(intargc,_TCHAR*argv[])
7.{
8.QApplicationapp(argc,argv);
9.QMainWindow*dlg=newQMainWindow();
10.Ui::Formui;
11.ui.setupUi(dlg);
12.dlg->show();
13.returnapp.exec();
14.
}
3.選擇「項目」,「Hello屬性」,「配置屬性」:
(1)「常規」:選擇「字元集」為「使用多位元組字元集」;
(2)「調試」:填寫「環境」值為:PATH=C:Qt4.7.0in;
填寫「合並環境」值為:是;
(3)「鏈接器」:進入「常規」選項,填寫「附加庫目錄」為:C:Qt4.7.0lib;
進入「輸入」選項,填寫「附加依賴項」為:qtcore4.libqtgui4.lib
(注意,這兩個庫之間為空格,不能寫逗號)
四、調試運行
到了這里,運行程序,則可正常編譯,成功運行。
8. 初學者學習Qt有哪些好的書籍
初學者學習Qt有哪些好的書籍:
《Qt Creator快速入門》
霍亞飛寫的,可算是Qt達人吧。這本書寫得通俗易懂。與之配套的還有一個叫《Qt及Qt Quick開發實戰精解》,屬小項目實戰,在入門的基礎上學習。
《精通Qt4編程》
網上版本好像有些模糊,如果覺得不好,也很值得買一本。
《C++ GUI Qt4 編程》
比較高級,不是基礎書,初學絕對不能搞這本。很多人都說是經典。
《Qt高級編程》
正如書題,是高級版的,也是老外寫的,應該經典。
《C++設計模式--基於Qt4開源跨平台開發框架》
假設已經熟悉C++了,請先閱讀一下Qt白皮書。它包含一個關於Qt軟體的概述,並且提供了一些用來示範使用Qt進行編程的代碼的片斷。它會給你一個「大的圖畫」。
如果想要完全的在C++中進行編程,不使用任何設計工具的幫助下在代碼中設計你的界面,請閱讀教程。教程1就是被設計成把你帶入Qt編程的一個教程,它更強調的是編寫代碼而不是一個特徵的漫遊。教程2是一個更加真實的例子,示範了如何編寫菜單、工具條、文件的載入和保存、對話框等地那個。
如果你想使用一個設計工具來設計你的用戶界面,那麼你至少要先閱讀Qt設計器手冊的前幾章。
到現在為止,如果你已經完成了一些小的可以工作的應用程序並且對Qt編程有了一個主要的了解。你可以直接開始你自己的項目了,但我們建議你閱讀一些關鍵的概述來加深你對Qt的理解:對象模型和信號和槽。
在這里建議看一下概述並且閱讀一些和你的項目相關的文章。也許會發現瀏覽和你項目做相同事情的實例的源代碼是非常有用的。也可以閱讀Qt的源代碼,因為它們也被提供。
如果運行demo這個應用程序(在$QTDIR/examples/demo),你就會看到很多運轉中的Qt窗口部件
Qt提供了廣泛的文檔,完全前後參考的超文本,所以你可以很容易地按你喜歡的方式進行點擊。在文檔中,你最經常使用的部分可能就是API參考。每一個鏈接都提供了一個不同的方式來導航API參考,全都試試,看哪一個更適合你。
9. Qt編程好難學啊,資料那麼少,怎麼辦
哪裡難學了,官方的例子就完整到爆。
學4.8.x的話有中文譯本的書,寫得不錯的。c++ gui qt4。
5.x的話國內資料比較少,用的人也不多。大家主要觀望5.2在android和ios平台上的支持性,現在qwidget不是主流支持了,上次去qt官方的培訓時都是拿qml做演示的,那個很好學,不過現成控制項不如widget豐富。
10. Qt4 按鍵轉化為字元串
其實就是把字元串變化成二進制流棚返進行存儲,可以實現,但我是桐譽在特定的編程環境下實現的,用UPDATEBLOB存儲,用SELECTBLOB訪問,讀入TXT文件或鏈輪飢者是STRING變數都可以