QT問題集錦-從學(xué)習(xí)Qt遇到地各種問題_第1頁
QT問題集錦-從學(xué)習(xí)Qt遇到地各種問題_第2頁
QT問題集錦-從學(xué)習(xí)Qt遇到地各種問題_第3頁
QT問題集錦-從學(xué)習(xí)Qt遇到地各種問題_第4頁
QT問題集錦-從學(xué)習(xí)Qt遇到地各種問題_第5頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、實用文檔第一篇初級問題1用Qt4.8.5打不開馮工柏菲軟件問題描述:運行環(huán)境為 Qt4.8.5 + QtCreator3.0.0+VS2010 專業(yè)版 + Debuging Tools forWindows(x86),用Creator無法打開項目文件,截圖如下:| JWtfl市密右折閡I*LtT朗0M筐中HJ彈出錯誤:Cannot read E:/PROJECT/Zhou-0410/testT: Unexpected UTF-8 BOM原因分析:未知解決方法:1安裝VS2010SP1未解決2安裝VS-Add,未解決3使用Creator2.6 解決2編譯失敗,系統(tǒng)找不到指定路

2、徑問題描述:見下圖文案大全實用文檔ZE; 511c力 為頒目”日式口口 Lbaz:也行若雪. 找;5rT/料 田置苴青四匹 填過 gf 率卷 22 !S7!:2fi2 ZfiUaU D:IrsgiEi|MiEasaft Yi3J*L Suudie IDOTCBIHsnffjit.eas611 口、巾Fiitivifiiti studio iorjvcxsisnmtict,-e白C 1. a - 5VS2DlbiJlknuic. e -MTWICCEE -IfflIN32 -DfflI_DLL -DQKTDLL -D_ATXDLL -DQI.口:X -DQT_HEBKI l _LIB -Dffi

3、lSDLLIB - DOT_GOI_LIEi -DOT_COftE_LIB _gTjHAftt -W_IUVI_JM -DQT_HAVIJM(Ur .而1_心 3.2 -DQT_7BREJU5_SOpFoi -*c;-Qe4.e75XVE2aiDVi=icLiLd,acCore工正曰口匚*.1.弓痣2口 10XInelusiSeG-Sui* -Ie田牛:9.SVS201EMDeljdeQESqln -Icj 逆30 . 5VS201DxacludeX QcWebKii: - Ic;XQtf. D . SW32dlDinclude- - IT rH.S.T5enalPDrtqeKi: 5eri1

4、4%由石_中管鬲卷#esria 11gf .cpp BDt: 2 t S.H.: HO 9U.i:21. file 系蜂找多到指定的這慢。HMAXfi ; faui errorC; flrfc4. fl . 5WiSOlC-XtaioXmac r txew;通回代嗎-中嘉11*Seep.HEflJE !.t&匚 U erzaz D1077l FDEFroffZML Flle (xSS) Mi,CTSJCifc VlsnaJ. ScidiD 10. DkVC BIETX onalre. e*e t 返回f酣。二Step.92: 57 = 3 %: 避震FblM 1日白卜 *聞已匕3111 U*。

5、上1 SLihdija 才Q.Q*Ve的IFWiak/.*開理出fl:出林辛-Eee口工 iflLiLic b!JLldinci/djeplGylDi3 po3t2,c心口IE匕r (Inc l 虎面 |當(dāng)fcMT步糖心上修時原因分析:1)可能:添加 VS編譯器環(huán)境變量,在 PATH中添加VS中NMAK路徑2)確定:Creator或編譯器無法識別&符號,即路徑原文件名為R&T中含有非法字符,無法準(zhǔn)確識別路徑3)默認的環(huán)境變量已經(jīng)有了 NMAK路徑解決方法:把路徑中非法字符刪除即可3編譯出現(xiàn)亂碼,Parse Error問題心*A記O Parse Error,葡原因分析:未知,應(yīng)該是非法字符導(dǎo)致。

6、4無法解析的外部符號I JfKEDOil:無古第折卜郎存怎 puhl 11, vir t-utl *l A.用。,.E.,t,l .工工廠m3inwindQw.obi.孑出口門土亂.而:口qf .E.電fit4MHQ LNK2001:puWwrtijal roid皿叫 MfliinWindoiwkffyPre5ivflrrt(c-l55 QKtyEveM 丁(也咿他曲5耶間皿臥 maiinridgiGbjo 641 zr a 小無法蝌節(jié)姍部奇令Q U1077:-D:PnDgraim Files 僅駒Mii:i口rH VlsuaJl 如dh W-OKVCBMJinkEXE:返回代碼,0w配set

7、upUi;/ ui-工-七1匚r (按鈕且祓按下!)/ ui-lafcel-BetText (QString: : frorrUtfS! *) );)J M ; viJT G r Z r*-r j Afm V fiQ-t k Kku II可題父A A M019:讀文件包含不方考前9碼頁(標(biāo))中表詢字符口請將該文件保存為Uniood.格式以防止數(shù)據(jù)丟失E:STUDYtest1 test1main nd ow, cpp C222S: hrg你J左邊必須有類/結(jié)構(gòu)庶含n cgq. W 土吉R日 1::口EIl-po3 () X 1 );1-PO5 () .y ( ;:hButton-setTexte

8、xpected token T got ? |6控件背景圖片添加問題描述:按照相對路徑添加背景圖片不顯示解決方法:1)相對路徑起始點為構(gòu)建目錄,如圖文案大全實用文檔構(gòu)建設(shè)置編輯構(gòu)建配置:必加工 I 運加二I刪除重奇名-SktJonF build; 0桎瞳目錄:E : STUDT t *x tl tix t lbuil d-桌面-1lh口E, 毒低5 STUDY testl testl - build -SS- Debug名稱修改日期2014/7/15 16r012014/7/15 12roi2014/7/15 15482014/7/15 tZrfJI2014/7/115 12。2014/7/1

9、5 12:012014/7/15 15:072014/7/15 16:01lJ MakefileM akefile.Debu g Lj Makefile,ReleaseI ui_mainwiiidow 國 vdOO2)添加資源文件,把背景圖片放到資源文件中,再通過控件屬性,指定資源文 件中的背景圖片即可。7昨天能啟動運行成功,今天說異常結(jié)束,運行不了原因分析:可能是昨天在 windows system32里面添加了 qtcore.dll等文件導(dǎo)致解決方法:刪除之后就可以運行了,但具體刪除哪個,待定8通過控件,查找操作函數(shù)?9修改控件名稱時,彈出外部鏈接錯誤解決方法:修改名稱后,通常有以下步驟1

10、)在頭文件中刪除對應(yīng)槽;2)修改槽動作名稱或重新生成槽動作,把之前代碼拷貝到新槽動作中。10 Qt數(shù)據(jù)類型轉(zhuǎn)換1) int 轉(zhuǎn) QStringint a=10;文案大全實用文檔QString b;b=QString:number(a)QString 轉(zhuǎn) intQString a=120int b;b=a.toInt ()int 和枚舉型轉(zhuǎn)換若你直的要從in轉(zhuǎn)換成Col%應(yīng)提供強制類型轉(zhuǎn)換:G1.02.03. 64, es. 6. 67, 0S .void f()Color kk = ud; / change x to redx = Color1); / change x to whitex =

11、 Cclor(2); / change x to bluem = 2;/ compile-time errort cant convert int to 匚olor但你應(yīng)保證從intR換來的CqI。啖型有意義。11相對路徑找不到要操作的文件路徑答:相對路徑是 Qt Creator構(gòu)建目錄12 Qt4顯示中文ui-label-setText(QObject:trUtf8(尼瑪);13 Qt5加載不了 QW1$件答:qcreator是用VS編譯的,而 QWT勺DLL是用mgw扁譯的,所以qtreator 無法顯示出對應(yīng)控件。文案大全實用文檔14設(shè)置窗體ICON15 qt相對路徑void MainW

12、indow: : on_pushButton_2_clickeci()( QString path;path = QCoreApplication:applicationDirPath();ui-lineEdit-setText(path);16控件大小無法改變修改如下屬性:minimumsizeIH * YTJ* tfa -WlH -屬性百值800茴度460I* sizePolicyPreferred, Prefer.,水幸策略Preferred垂直策略Preferred水平伸展0垂直伸展0800 x 460譴300高度460 maximumSize16777215 x 16777.size

13、increment0 x0 bseSize0 x0第二篇中級問題1引用了外部鏈接庫的頭文件(.h),但未添加庫路徑(.lib )問題描述:被引用的函數(shù)無法解析問題心 A日LNFEOJ9:無法解折的外部行號inp_Ay5_Ipi f&l 該符號在由數(shù)pirgat. void _thiscall Mainliridoir . srijbtiConrL_Gliekf: 1 (void)*(?QEl pKtxCgnji ell cl e 4e.b nWinaovAAEUZ)中版弓南rflairwirtdow.flbjiQ LNK112O; 1個無法峰折壬;外部他令原因分析:引用的頭文件只是變量及函數(shù)的

14、定義說明,而函數(shù)實現(xiàn)部分都封裝在對應(yīng)的庫中文案大全實用文檔(lib+dll )2如何引用未添加到項目的外部頭文件描述:Qt項目中添加的頭文件一般是根據(jù)需求自己寫的,而項目中需要引用大量的Qt自帶頭文件及系統(tǒng)頭文件,有時也需要用到第三方專用頭文件,不可能把所有的頭文件都加到項目中。那該如何引用這些已有的頭文件呢?這里分三類進行討論:Qt SDK自帶頭文件2)系統(tǒng)頭文件3)第三方頭文件3無法調(diào)用QDo第造函數(shù)原因分析:在.pro中未加入:QT += xml4引用外部DLL函數(shù),無法解析的外部符號描述:把dll文件和對應(yīng)的.h文件拷貝到項目文件目錄,添加 .h文件到項目,引用 dll函 數(shù)時,出現(xiàn)無

15、法解析的外部符號錯誤 分析:未將.lib 庫文件添加到項目中。5指針參數(shù)賦值未被使用*AS5216:ReceiveData(ch-r *buffer)(QByteArray temp; /serial,clear(); /return serialkread(buffer,sizeaf(buffer); teirp . append (serial * readAll ) ; buffer = data (); return 0; 指針是指向地址的變量,buffer = temp.data僅僅是把參數(shù) buffer 指向了 temp.data的地址。而指針參數(shù)的目的是指向調(diào)用該函數(shù)時的數(shù)組地址

16、,這里把指針指向了其他,則丟失了原有的數(shù)組,因為未能復(fù)制給數(shù)組。文案大全實用文檔5類A的信號,類B的槽函數(shù),如何關(guān)聯(lián)問題描述: no matching function for call toconnect 問題解析:我遇到過這種問題,應(yīng)該是你&mDevice對應(yīng)的類,沒有繼承 QObject對象。Qt的信號-槽機制必須以QObject為基類才能使用。nc atcEing: function for call to Jtainindow : : connecttMaintfinJor* CGns;h const ckar 16P 瞄5216町 const char 18 )P connect

17、(this f SIGNAL (getName (-QString) r tniDevcie SLOT t?etName (QString);,E:WOR.KPROJECTPLATFORMAvaP!|rfSlaesl.avennainwindow.cpp no type named O bj ectF in Struct QtPirivate: Fu nctior Ro inter const char*6如何調(diào)用第三方庫函數(shù)參見QWT7如何切換控件顏色?8全局變量,所有cpp均可讀寫Globe.hClass globe Static int num;Globe.cppGlobe:Globe(

18、)Int Globe:num = 0;. qt保留指定為小數(shù)double/float size = 2.3334524;QString str = QString二number(size, f, 2);其中f代表非科學(xué)計數(shù)法格式,2代表小數(shù)點后兩位文案大全實用文檔QwtPlot plot = new QwtPlot() ,提示未定義引用未連接 QWW need to link to the Qwt library.第三篇專題綜述.指針變量按“點”后,不自動彈出箭頭QwtPlotCanvas *canvas = new QwtPlotCanvas(); 把new后面的括號去掉即可5.1各種數(shù)據(jù)類

19、型轉(zhuǎn)換char * 與 const char * 的轉(zhuǎn)換 char *ch1=hello11;const char *ch2=hello22;ch2 = ch1;/不報錯,但有警告ch1 = (char *)ch2;char 轉(zhuǎn)換為 QString 其實方法有很多中,我用的是: char a=b;QString str; str=QString(a);QString 轉(zhuǎn)換為 char 方法也用很多中QString str=abc;char *ch;ch = str.toLatin1.data();QByteArray 轉(zhuǎn)換為 char * char *ch;/不要定義成 chn;QByteAr

20、ray byte;ch = byte.data();文案大全實用文檔char * 轉(zhuǎn)換為 QByteArray char *ch;QByteArray byte; byte = QByteArray(ch);QString 轉(zhuǎn)換為 QByteArray QByteArray byte;QString string; byte = string.toAscii();QByteArray 轉(zhuǎn)換為 QStringQByteArray byte;QString string; string = QString(byte);這里再對這倆中類型的輸出總結(jié)一下:qDebug()print;qDebug()t

21、r(print);qDebug()ch;(ch 為 char 類型)qDebug()tr(ch);qDebug()byteArray;(byteArray 是 QByteArray 類型)qDebug()tr(byteArray);qDebug()str;(str 為 Qstring 類型)但是qDebug()tr(str); 是不可以的,要想用tr()函數(shù)輸出QString類型的字符則要如下: qDebug()tr(str.toLatin1);int 轉(zhuǎn) QString int a=10;QString b;b=QString:number(a)QString 轉(zhuǎn) int文案大全實用文檔QS

22、tring a=120int b;b=a.toInt ()char * 與 const char * 的轉(zhuǎn)換 char *ch1=hello11;const char *ch2=hello22;ch2 = ch1;/ 不報錯,但有警告ch1 = (char *)ch2;char 轉(zhuǎn)換為 QString其實方法有很多中,我用的是:char a=b;QString str; str=QString(a);QString 轉(zhuǎn)換為 char方法也用很多中QString str=abc;char *ch;ch = str.toLatin1.data();QByteArray 轉(zhuǎn)換為 char * cha

23、r *ch;/不要定義成 chn;QByteArray byte;ch = byte.data();char * 轉(zhuǎn)換為 QByteArraychar *ch;QByteArray byte;byte = QByteArray(ch);QString 轉(zhuǎn)換為 QByteArray QByteArray byte;QString string;文案大全實用文檔byte = string.toAscii();QByteArray 轉(zhuǎn)換為 QStringQByteArray byte;QString string;string = QString(byte);這里再對這倆中類型的輸出總結(jié)一下:qDe

24、bug()print;qDebug()tr(print);qDebug()ch;(ch 為 char 類型)qDebug()tr(ch);qDebug()byteArray;(byteArray 是 QByteArray 類型)qDebug()tr(byteArray);qDebug()str;(str 為 Qstring 類型)但是qDebug()tr(str); 是不可以的,要想用tr()函數(shù)輸出QString類型的字符則要如下: qDebug() stringQString.toStdString();string - QStringQString:fromStdString(strin

25、g)文案大全實用文檔QString -int,double,char *QString:toInt()QString:toDouble()QString.toStdString().c_str();int double char* -string可以采用 里的 stringstream以 int 為例,int a = 3;stringstream ss;string strInt;ssstrInt;其他兩個一樣。int double char* 轉(zhuǎn) QString一種方法可以先轉(zhuǎn)string ,再轉(zhuǎn)QString 。另一種方法可以查看QString類的函數(shù)。其一: 靜態(tài)函數(shù)QString nu

26、mber ( double n, char format = g, int precision = 6 )其二:非靜態(tài)函數(shù),需構(gòu)造QString實例來調(diào)用的 QString & setNum ( double n, char format =g, int precision = 6 )QString:number()這個靜態(tài)函數(shù),參數(shù)可以是 int ,也可以是 double。double int 的互轉(zhuǎn)可采用 static_cast文案大全實用文檔結(jié)構(gòu)體類型轉(zhuǎn)換1)結(jié)構(gòu)體轉(zhuǎn)字符數(shù)組struct A(int a;int b;);char buf 100;A a = 1.2; memcpy(buf

27、, &a, sizeof (A);2)字符數(shù)組轉(zhuǎn)結(jié)構(gòu)體調(diào)色板使用QPalette類有兩個枚舉類型,枚舉1、ColorGroupCorGroup指的是3中不同的狀態(tài)(什么時候設(shè)置顏色):1Active:獲得焦點的狀態(tài)。2Inactive: 未獲得焦點的狀態(tài)。3Disable :不可用狀態(tài)。通常情況下,Active狀態(tài)與Inactive 狀態(tài)下顏色顯示是一致的,當(dāng)然也可根據(jù)需要設(shè)置成 不一樣的顏色2、ColorRole (設(shè)置什么顏色)。ColorRole 指的是顏色主題,即對窗體中不同部位顏色的分類,如 QPalette:Window 是 指背景色,QPalette:WindowText指的是前景色等。常用:QPalete:Window,通常指窗口部件的背景色 ;文案大全實用文檔QPalette:WindowText,通常指窗口不見的前景色(QLabel也可以使用);QPalette:Base,指文本輸入窗口部件 (比如 QTextEdit,QLinedit,QPlainTextEdit等)的背景色QPalette:Text, 與QPalette:Base一塊使用,指文本輸入窗口部件的前景色;QPalette:Button,指按鈕窗口部件的背景色;QPalette:ButtonText,指按鈕窗口部

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論