免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
<QT>常見錯誤總結
userphoto

2015.07.14

關注
1,./ui_logindialog.h:150: error: 'class QLineEdit'has no member named 'setPlaceholderText'
./ui_logindialog.h:151: error: 'class QLineEdit'has no member named 'setPlaceholderText'
./ui_logindialog.h:155: error: 'class QLineEdit'has no member named 'setPlaceholderText'
其原因是例子中用的庫是4.8.1,而我電腦中的是4.5.1,
4.7.1版本之前的庫都沒有setPlaceholderText,換庫就能解決。或者直接棧掉相關的代碼就ok
2,
make: Entering directory`/sda6-112G-data/qt-space/login/login-build-desktop-Desktop_Qt_4_8_1_for_GCC__Qt_SDK____'
g++ -c -pipe -O2 -Wall -W -D_REENTRANT-DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED-I/opt/QtSDK/Desktop/Qt/4.8.1/gcc/mkspecs/linux-g++ -I../login-I/opt/QtSDK/Desktop/Qt/4.8.1/gcc/include/QtCore-I/opt/QtSDK/Desktop/Qt/4.8.1/gcc/include/QtGui-I/opt/QtSDK/Desktop/Qt/4.8.1/gcc/include -I. -I. -I../login -I. -omythreadtest.o ../login/mythreadtest.cpp
In fileincluded from/usr/lib/gcc/x86_64-neokylin-linux/4.4.5/../../../../include/c++/4.4.5/thread:35,
from../login/mythreadtest.cpp:5:
/usr/lib/gcc/x86_64-neokylin-linux/4.4.5/../../../../include/c++/4.4.5/c++0x_warning.h:31:2:error: #error This file requires compiler and library support forthe upcoming ISO C++ standard, C++0x. This support is currentlyexperimental, and must be enabled with the -std=c++0x or-std=gnu++0x compiler options.
make: ***[mythreadtest.o] Error 1
make: Leaving directory`/sda6-112G-data/qt-space/login/login-build-desktop-Desktop_Qt_4_8_1_for_GCC__Qt_SDK____'
17:49:39:進程"/usr/bin/make"退出,退出代碼 2 。
構建項目login時發(fā)生錯誤 (目標: 桌面)
當執(zhí)行構建步驟'Make'時
什么情況???????
3,
犀利的link錯誤 undefined reference to vtable for xxxx
原來我沒有實現(xiàn)虛函數(shù),原來的代碼為
undefined reference to vtable for MyThread
~MyThread();            改為             ~MyThred() {} 就OK了,果然很犀利。
還奉送另一個錯誤吧。
undefined reference to MyThred::mutex
原來是犀利的 靜態(tài)變量沒有初始化!!
在xxx.cpp中初始化就OK了 wxMutex CThread::mutex;
4,將qt工程移到其他機器上,有如下報錯,各種郁悶了
[root@login-build-desktop-Desktop_Qt_4_8_1_for_GCC__Qt_SDK____]#./login
./login: symbol lookup error: ./login:undefined symbol:_ZN9QLineEdit18setPlaceholderTextERK7QString
應該是qt版本太高,被移植的電腦qt版本低
工程下邊還有個目錄,調試下那個就ok了
5,
QWidget:Must construct a QApplication before a QPaintDevice
程序異常終止。
錯誤的原因是:創(chuàng)建對象的位置錯誤
6,
make: Nothing to be done for`first'
在qt工程目錄mysql111中(包含main.cpp,mysql111.pro等的目錄)
執(zhí)行命令 qmake "INCLUDEPATH+=/usr/include/mysql""LIBS+=-L/usr/lib/mysql -lmysqlclient_r" mysql11.pro
后,再make; 報錯
解決辦法:#rm -rf *.o
7.
8.
總結系列_13(Qt使用總結,續(xù)...)
QtCreator中使用的是MinGW進行編譯的,所以在windows下如果想要下載QtCreator就需要下載對應mingw的版本,而不是vs的,否則是編譯不了的?;蛘咦约合螺dQt源碼庫,用Cmake中選中MinGW重新編譯即可。
所以如果安裝Qt libraries4.8.2 for Windows (minGW 4.4, 318MB),則必須先安裝QtCreator,因為QtCreator安裝過程中會自動安裝MinGW,而Qt libraries4.8.2 for Windows (minGW 4.4, 318MB)的安裝又必須使用MinGW。因此這2者的順序不可顛倒。
但是自從QtCreator2.5.0以后,就不再捆綁MinGW了,需要用戶自行下載安裝。Qt官網(wǎng)給出的下載地址為ftp://ftp.qt.nokia.com/misc/MinGW-gcc440_1.zip.
當然我們也可以用VS的編譯器進行編譯,這樣裝了微軟的VS后我們在QtCreator中設置好微軟的編譯器目錄,然后在QtCreator中進行編寫代碼,編譯調試等.
在用微軟的調試器時可以裝一個dbg_x86_6.11.1.404.msi,裝完后QtCreator會自動識別這個dbg調試器的.
Qt中用來顯示圖片的控件為Label后者用TextBrowser.當用Label顯示時,需要用setPixmap函數(shù),且該函數(shù)對應傳入與圖像相關的參數(shù)為圖像的數(shù)據(jù)部分;當用TextBrowser顯示時,直接用append函數(shù)即可。該函數(shù)對應傳入與圖像相關的參數(shù)為圖像的文件名(要包含路徑)。
顯示文本的控件為TextBrowser.
獲得spinBox的值是調用其value()函數(shù)。
獲得LineEdit的值是調用其text()函數(shù),然后轉換成相應的數(shù)據(jù)類型即可。
10.ui中的close函數(shù)只是關閉窗口的顯示功能而已,并沒有delete掉里面的變量。
11.QPalette為調色版,其顏色組分為3組,活動組,非活動組,
12.可用組;其中活動組為當前窗口所在組,非活動組為其它窗口所在組,不可用組是由于某種原因暫時不能使用的組。改變調色版的顏色可以使用setColor這個函數(shù),這個函數(shù)有2個重載函數(shù),其中參數(shù)ColorRole表示是更改哪個參數(shù);比如說一般的背景色。
13.EditLine背景色顏色角色為QPalette::Base;前景色文字的顏色角色為QPalette::Text.
14.Button背景色顏色角色為QPalette::Button.前景色文字的顏色角色為QPalette::ButtonText.
15.Label前景文字顏色角色為QPalette::WindowText.
16.當在TextBrowser中進行圖片顯示時,如果需要讓顯示圖片的窗口自適應圖片的大小,可采用QTextBrowser下的setFixedWidth()和setFixedHeight()函數(shù)來設置窗口尺寸,其參數(shù)是從圖片中獲取。當然這個設置的窗口長和寬已經(jīng)包括了右邊和下邊的滾動條,所以給參數(shù)的時候需要把這2者考慮進去。
17.要對整個窗口的背景該色,且不改變其上面控件的背景色,則這時需用QPalette類。且時需用Window作為背景色角色;如果用Base作為背景色角色的話,那么它只會改變QTextEidt類及其派生類的背景色;如果用seStyleSheet,其用background-color的話,那么它會把其上面的控件背景色全改了,且相應的子窗口的也都改了。
18.在Qt中,將1個數(shù)值a轉換成文本,可采用,tr(“%1”).arg(a).也可采用QString::number(a).
19.實際運行到這幾句代碼時,并不是顯示完first,延時1s后顯示second,再延時1s后顯示third. 而是直接延時2秒,first,second,third同時顯示呢?
20.其原因在主線程GUI中不宜采用sleep()等函數(shù),否則會出現(xiàn)意想不到的結果。
21.如果需要延時,#include<QElapsedTimer>后,可以用下面的代碼(比如說延時1s):
22.QtCreator中使用的是MinGW進行編譯的,所以在windows下如果想要下載QtCreator就需要下載對應mingw的版本,而不是vs的,否則是編譯不了的?;蛘咦约合螺dQt源碼庫,用Cmake中選中MinGW重新編譯即可。
23. 所以如果安裝Qt libraries4.8.2 for Windows (minGW 4.4, 318MB),則必須先安裝QtCreator,因為QtCreator安裝過程中會自動安裝MinGW,而Qt libraries4.8.2 for Windows (minGW 4.4, 318MB)的安裝又必須使用MinGW。因此這2者的順序不可顛倒。
24.但是自從QtCreator2.5.0以后,就不再捆綁MinGW了,需要用戶自行下載安裝。Qt官網(wǎng)給出的下載地址為ftp://ftp.qt.nokia.com/misc/MinGW-gcc440_1.zip.
25.當然我們也可以用VS的編譯器進行編譯,這樣裝了微軟的VS后我們在QtCreator中設置好微軟的編譯器目錄,然后在QtCreator中進行編寫代碼,編譯調試等.
26.在用微軟的調試器時可以裝一個dbg_x86_6.11.1.404.msi,裝完后QtCreator會自動識別這個dbg調試器的.
27.Qt中用來顯示圖片的控件為Label后者用TextBrowser.當用Label顯示時,需要用setPixmap函數(shù),且該函數(shù)對應傳入與圖像相關的參數(shù)為圖像的數(shù)據(jù)部分;當用TextBrowser顯示時,直接用append函數(shù)即可。該函數(shù)對應傳入與圖像相關的參數(shù)為圖像的文件名(要包含路徑)。
28. 顯示文本的控件為TextBrowser.
29. 獲得spinBox的值是調用其value()函數(shù)。
30.獲得LineEdit的值是調用其text()函數(shù),然后轉換成相應的數(shù)據(jù)類型即可。
31.ui中的close函數(shù)只是關閉窗口的顯示功能而已,并沒有delete掉里面的變量。
32.QPalette為調色版,其顏色組分為3組,活動組,非活動組,
33.可用組;其中活動組為當前窗口所在組,非活動組為其它窗口所在組,不可用組是由于某種原因暫時不能使用的組。改變調色版的顏色可以使用setColor這個函數(shù),這個函數(shù)有2個重載函數(shù),其中參數(shù)ColorRole表示是更改哪個參數(shù);比如說一般的背景色。
34.EditLine背景色顏色角色為QPalette::Base;前景色文字的顏色角色為QPalette::Text.
35.Button背景色顏色角色為QPalette::Button.前景色文字的顏色角色為QPalette::ButtonText.
36.Label前景文字顏色角色為QPalette::WindowText.
37.當在TextBrowser中進行圖片顯示時,如果需要讓顯示圖片的窗口自適應圖片的大小,可采用QTextBrowser下的setFixedWidth()和setFixedHeight()函數(shù)來設置窗口尺寸,其參數(shù)是從圖片中獲取。當然這個設置的窗口長和寬已經(jīng)包括了右邊和下邊的滾動條,所以給參數(shù)的時候需要把這2者考慮進去。
38.要對整個窗口的背景該色,且不改變其上面控件的背景色,則這時需用QPalette類。且時需用Window作為背景色角色;如果用Base作為背景色角色的話,那么它只會改變QTextEidt類及其派生類的背景色;如果用seStyleSheet,其用background-color的話,那么它會把其上面的控件背景色全改了,且相應的子窗口的也都改了。
39.在Qt中,將1個數(shù)值a轉換成文本,可采用,tr(“%1”).arg(a).也可采用QString::number(a).
40. Qtimer::singleShot(0, this,SLOT(event()));
41.其中第一個參數(shù)為時隔多長(單位為ms)執(zhí)行后面的event信號函數(shù),當然該函數(shù)的函數(shù)名可以自己定義。這句代碼的意思是立即執(zhí)行執(zhí)行event()函數(shù)。和sleep()函數(shù)一樣,在Qt中也不能用opencv中的waitKey()函數(shù)來進行延時。
42. 用QTCreater編程,如果沒有自動補全是很痛苦的事情,于是便查閱了QT的文檔,發(fā)現(xiàn)CTRL+SPACE是自動補全的快捷鍵;
但是在 Creater里使用居然沒有效果,估計是輸入法切換的沖突(CTRL+SPACE是我中英文輸入的默認快捷鍵)
于是尋求解決方法,在QTCreater->Tools->Options...里找到environment->Keyboard,發(fā)現(xiàn)TextEditor.CompleteThis命令,其快捷鍵是Ctrl+Space;將其result掉,然后輸入Alt+/(Eclipse里習慣的~~)后應用退出即可.
43.要達到像vs一樣在終端(單獨的終端)輸出想調試的各種信息,不是采用cout,而是采用qDebug()<<”xxx”;
44.如果菜單下的action不能夠運動到toolbar上,則在toolbar上右擊,選擇separatetoolbar,然后移動即可。
45.setCentralWidget()函數(shù)是把控件布滿整個界面的語句。
46.在Qt程序其中的一個函數(shù)中,如果需要調用另一個窗口類且顯示出來,則有2種方法。其一是在本類中定義一個全局變量,然后在這個函數(shù)中new一個對象。如下所示:
voidMainWindow::on_actionNew_Window_triggered()
{
my_dailog = new Dialog(this);
my_dailog->show();
}
這種情況下建立的窗口時非模態(tài)的,且可以同時調出多個my_dialog窗口來。
另外一種方法是在程序內(nèi)部定義一個類對象,如下所示:
voidMainWindow::on_actionNew_Window_triggered()
{
Dialog my_dialog;
my_dialog.setModal(false);
my_dialog.exec();
}
但是不管其模態(tài)設置是否為true,該窗口都是模態(tài)的,即該窗口顯示出來時其它的窗口不能工作了。當然此時只能顯示1個my_dialog了。
47.Qt中的label控件對應android中的是TextView控件。
48.如果想要窗口內(nèi)部的控件大小隨著窗口拉伸等變化而變化,則需要在布局中設置,點擊ui文件中的主體,然后選擇布局控件中滿足自己需求的一個即可。
49.window下的路徑名需要用2個左斜杠或者1個右斜桿。即”/”或者””。
50.在界面中設置顯示的文字屬性,如果在cpp中被重新設置了,那么運行時是以cpp中設置的最后的設置,因為這些屬性被覆蓋掉了.
51. 在QtDesigner界面設計中,label中顯示的內(nèi)容各種屬性都可以設置,比如字體格式,顏色等.但是PushButton中顯示的字體在屬性欄就只能更改其內(nèi)容。如果要更改其它屬性則需要在代碼中實現(xiàn)。
52.一般信號中的toggled是指對應的屬性為checkable,然后被鼠標單擊了下而發(fā)射的。這個在復選按鈕和單選按鈕中比較常見,但是在PushButton中也是可以用的,將PushButton的屬性checkable設置為真,則運行時鼠標單擊一下,按鈕的顏色會變淡,再單擊一下又會變亮,它是以顏色的的深淺來提醒它的toggle的。
菜單欄中的一個選項,一般是用trigger來發(fā)射信號。
53.Qt的MessageBox中比較常用的是,MessageBox::warning(),MessageBox::information,MessageBox:YES等。
54.在LineEdit中有一個echoMode,里面可以選中password模式,則在LineEdit中輸入的內(nèi)容對用戶是不可見的,當然對系統(tǒng)是可見的,我們可以將其內(nèi)容讀取出來。
55. CmoboBox中增加一項用的是addItem()函數(shù)。例如:
ui->comboBox->addItem("China");
56.Qt中QListView是基于Model的,QListWidget是基于Item的。
57.如果是用QListWidget的話,加入內(nèi)容采用的是addItem()方法。
58.頭文件和對應的源文件可以同時include同一個頭文件。
59.用滑動條觸發(fā)進度條的實驗中,至少有下面3種方法可以執(zhí)行。
可以直接在界面設計的信號與槽中連接好對應的信號與槽。無需任何代碼。
在界面的構造函數(shù)中用connect函數(shù)連接好信號與槽,也無需其他代碼。如下:
connect(ui->horizontalSlider,SIGNAL(valueChanged(int)), ui->progressBar,SLOT(setValue(int)));
可以在滑動條值改變的槽函數(shù)中實現(xiàn),如下:
voidDialog::on_horizontalSlider_valueChanged(int value)
{
ui->progressBar->setValue(ui->horizontalSlider->value());
}
60.讓狀態(tài)欄顯示文本不是采用setText()方法,而是采用showMessage().其第二個參數(shù)為顯示該內(nèi)容持續(xù)的時間,以毫秒為單位。
61. 如果在QtCreator中需要帶參數(shù)運行,因為在main函數(shù)中經(jīng)常有argv這個變量傳入?yún)?shù),這可以在QtCreator的左側Project一欄中—>Targets—>Desttop(中間偏上的位置)—>Run    —>Arguments中輸入需要附加的參數(shù)即可。
62.QtextEdit除了用append()函數(shù)顯示圖片外,還可以用insertHtml()函數(shù)和setPlainText()來顯示,用法類似,其中insertHtml()可以用來顯示圖片和有格式的文字,而setPlainText()只能用來顯示無格式的文字。
63. QtGui界面的顯示是在程序的構造函數(shù)執(zhí)行完后完成的,所以如果在構造函數(shù)中對界面有動態(tài)的輸出效果我們是看不到的,只能都構造函數(shù)執(zhí)行完了后才能看到最后的結果。那么怎么辦才能做到在構造函數(shù)結束時自動調用某一程序來完成我們想要看到的動態(tài)初始化效果呢?這里可以使用QTimer下的singleShot()函數(shù)。
64. Qtimer::singleShot(0, this,SLOT(event()));
65.其中第一個參數(shù)為時隔多長(單位為ms)執(zhí)行后面的event信號函數(shù),當然該函數(shù)的函數(shù)名可以自己定義。這句代碼的意思是立即執(zhí)行執(zhí)行event()函數(shù)。
和sleep()函數(shù)一樣,在Qt中也不能用opencv中的waitKey()函數(shù)來進行延時。
66. 用QTCreater編程,如果沒有自動補全是很痛苦的事情,于是便查閱了QT的文檔,發(fā)現(xiàn)CTRL+SPACE是自動補全的快捷鍵;
但是在 Creater里使用居然沒有效果,估計是輸入法切換的沖突(CTRL+SPACE是我中英文輸入的默認快捷鍵)
于是尋求解決方法,在QTCreater->Tools->Options...里找到environment->Keyboard,發(fā)現(xiàn)TextEditor.CompleteThis命令,其快捷鍵是Ctrl+Space;將其result掉,然后輸入Alt+/(Eclipse里習慣的~~)后應用退出即可.
67.要達到像vs一樣在終端(單獨的終端)輸出想調試的各種信息,不是采用cout,而是采用qDebug()<<”xxx”;
68.如果菜單下的action不能夠運動到toolbar上,則在toolbar上右擊,選擇separatetoolbar,然后移動即可。
69.setCentralWidget()函數(shù)是把控件布滿整個界面的語句。
70.在Qt程序其中的一個函數(shù)中,如果需要調用另一個窗口類且顯示出來,則有2種方法。其一是在本類中定義一個全局變量,然后在這個函數(shù)中new一個對象。如下所示:
voidMainWindow::on_actionNew_Window_triggered()
{
my_dailog = new Dialog(this);
my_dailog->show();
}
這種情況下建立的窗口時非模態(tài)的,且可以同時調出多個my_dialog窗口來。
另外一種方法是在程序內(nèi)部定義一個類對象,如下所示:
voidMainWindow::on_actionNew_Window_triggered()
{
Dialog my_dialog;
my_dialog.setModal(false);
my_dialog.exec();
}
但是不管其模態(tài)設置是否為true,該窗口都是模態(tài)的,即該窗口顯示出來時其它的窗口不能工作了。當然此時只能顯示1個my_dialog了。
Qt中的label控件對應android中的是TextView控件。
71.如果想要窗口內(nèi)部的控件大小隨著窗口拉伸等變化而變化,則需要在布局中設置,點擊ui文件中的主體,然后選擇布局控件中滿足自己需求的一個即可。
72.window下的路徑名需要用2個左斜杠或者1個右斜桿。即”/”或者””。
73.在界面中設置顯示的文字屬性,如果在cpp中被重新設置了,那么運行時是以cpp中設置的最后的設置,因為這些屬性被覆蓋掉了.
74. 在QtDesigner界面設計中,label中顯示的內(nèi)容各種屬性都可以設置,比如字體格式,顏色等.但是PushButton中顯示的字體在屬性欄就只能更改其內(nèi)容。如果要更改其它屬性則需要在代碼中實現(xiàn)。
75.一般信號中的toggled是指對應的屬性為checkable,然后被鼠標單擊了下而發(fā)射的。這個在復選按鈕和單選按鈕中比較常見,但是在PushButton中也是可以用的,將PushButton的屬性checkable設置為真,則運行時鼠標單擊一下,按鈕的顏色會變淡,再單擊一下又會變亮,它是以顏色的的深淺來提醒它的toggle的。
菜單欄中的一個選項,一般是用trigger來發(fā)射信號。
76.Qt的MessageBox中比較常用的是,MessageBox::warning(),MessageBox::information,MessageBox:YES等。
77.在LineEdit中有一個echoMode,里面可以選中password模式,則在LineEdit中輸入的內(nèi)容對用戶是不可見的,當然對系統(tǒng)是可見的,我們可以將其內(nèi)容讀取出來。
78. CmoboBox中增加一項用的是addItem()函數(shù)。例如:
ui->comboBox->addItem("China");
79.Qt中QListView是基于Model的,QListWidget是基于Item的。
80.如果是用QListWidget的話,加入內(nèi)容采用的是addItem()方法。
81.頭文件和對應的源文件可以同時include同一個頭文件。
82.用滑動條觸發(fā)進度條的實驗中,至少有下面3種方法可以執(zhí)行。
可以直接在界面設計的信號與槽中連接好對應的信號與槽。無需任何代碼。
在界面的構造函數(shù)中用connect函數(shù)連接好信號與槽,也無需其他代碼。如下:
connect(ui->horizontalSlider,SIGNAL(valueChanged(int)), ui->progressBar,SLOT(setValue(int)));
可以在滑動條值改變的槽函數(shù)中實現(xiàn),如下:
voidDialog::on_horizontalSlider_valueChanged(int value)
{
ui->progressBar->setValue(ui->horizontalSlider->value());
}
83.讓狀態(tài)欄顯示文本不是采用setText()方法,而是采用showMessage().其第二個參數(shù)為顯示該內(nèi)容持續(xù)的時間,以毫秒為單位。
84. 如果在QtCreator中需要帶參數(shù)運行,因為在main函數(shù)中經(jīng)常有argv這個變量傳入?yún)?shù),這可以在QtCreator的左側Project一欄中—>Targets—>Desttop(中間偏上的位置)—>Run—>Arguments中輸入需要附加的參數(shù)即可。
85. Windows+QtCreator+Opencv的使用:
需要在Qt工程中,即***.pro文件中加入:
INCLUDEPATH+=C:\Qt\opencv2.4.2\build\include    C:\Qt\opencv2.4.2\build\include\opencv    C:\Qt\opencv2.4.2\build\include\opencv2    LIBS+=C:\Qt\opencv2.4.2\build\x86\vc10\lib\opencv_core242d.lib    C:\Qt\opencv2.4.2\build\x86\vc10\lib\opencv_highgui242d.lib    C:\Qt\opencv2.4.2\build\x86\vc10\lib\opencv_imgproc242d.lib
特別要注意的地方是INCLUDEPATH后面添加的是C:\Qt\opencv2.4.2\build\include\等,而不是C:\Qt\opencv2.4.2\include\等,否則一直報錯。
另外還有一點是Qt中的目錄不能包含空格,所以安裝的opencv目錄前如果有Program Files是不行的,為此我還專門把opencv移到了另一個目錄,2個opencv同時用。
86. QTextBrowser中append方法是在當前框下一行加入內(nèi)容,可以是文字或圖片等。它本身已經(jīng)固定了換行模式,取消不了?!   etText方法是在框在加入內(nèi)容,也可以是文字或圖片等,但是它會把前面所有的內(nèi)容都覆蓋掉。
insertHtml和append一樣,可以加入文本或圖片等,它不會覆蓋掉其內(nèi)容,但是默認的也是從下一行開始的,即有換行模式,不過該自動換行模式可以被取消。采用下面的語句:
ui->textBrowser->setWordWrapMode(QTextOption::NoWrap);
同理,如果要恢復自動換行模式,采用:
ui->textBrowser->setWordWrapMode(QTextOption::WordWrap);
87. 解決新版Qt中不能使用opengl中的gluXXX()函數(shù)方法:
1. 先下載glut庫http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip。
2.將下載下來的文件解壓,將glut32.lib和glut.lib兩個lib文件移到qt目錄下的./lib文件夾中。
3.將glut.dll和glut32.dll兩個動態(tài)鏈接庫移到C:\windows\system32中。
4.將glut.h文件移到qt目錄下的\include\QtOpenGL中
5.新建一個txt文件,里面輸入代碼:#include“glut.h”,然后把該txt文件的名字重命名為glut,注意這個地方不需要加后綴
6.切換到在自己的程序中,在myGLWidget.cpp(QGLWidget派生類的cpp)加入"#include<glut>" 就OK了。即使我們也在GLWidget.cpp中也加入了頭文#include<QtOpenGL>,
上面的"#include<glut>" 同樣需要。
88. 在Qt中使用定時器的方法:
法一:只需啟動定時器,例如startTimer(5);這里是設置5ms定時,然后復寫timerEvent(QTimerEvent*)函數(shù)即可。
法二:用如下代碼進行設置
timer = new QTimer(this);    connect(timer, SIGNAL(timeout()), this, SLOT(timerEvent()));    timer->start(5);
然后重寫timerEvent()槽函數(shù)即可。
89. 當使用tr進行語言國際化時,有可能會出現(xiàn)錯誤:error : 'tr' was not declared in this scope。解決方法:在程序中加入#include<QObject>,并使用QObject::tr();
90. Qt中如果需要更改工程名的話(這里指用QtCreator建立的工程),則需刪除一些QtCreator生成的與舊工程名相關的文件,一般刪除如下文件:Makefile、Makefile.Debug、Makefile.Release、*.pro.user,以及目錄release、debug。然后更改*.pro文件的名字,重新打開工程編譯即可。
91. QFileInfo類是用來提供與系統(tǒng)無關的文件信息的。canonicalFilePath指的是解釋過的絕對路徑,比如"..","."分別解釋為上一級目錄和本目錄。
92. qobject_cast<A>(B),當類型B和A相同或者類型B是A的子類類型,則返回類型A。否則返回0;其實就是說如果B可以轉換成A的話(2種類型有相似性),則進行強制類型轉換,否則轉換失敗。
93. QSetting類提供了平臺無關的永久保存應用程序設置的方法,這些設置包括窗口的位置,大小等信息。
94. QRectF為一個float精度的矩形框。
95.QPainter為一個繪圖裝置,我們可以在上面進行繪圖,繪圖的對象為widget或者printer。
96.畫筆是用來繪制線型的,主要樣式有3個方面:筆帽,結合點和線型。
97.畫刷是用來畫填充封閉的幾何圖形的,主要有2個參數(shù)設置:顏色和樣式。
98.如果編譯時出現(xiàn)Qt自帶的源代碼處的錯誤提示,比如說:qtextoption.h語法錯誤:缺少“;”(在標識符“QtGuiModule”的前面)
99.定位到錯誤的地方時,是Qt系統(tǒng)的源碼,按照道理系統(tǒng)源碼時不會出錯的,這時有能是自己寫的一個類繼承了系統(tǒng)提供的類,而這個類在頭文件的括號中沒有使用分號所致.
100.在Qt中使用定時器功能有2中方法,第一個是使用QTimer類。第二個是使用QObject子類的重載函數(shù)timerEvent()。在使用第1種方法時需要將設置定時器的信號與槽連接,然后使用start函數(shù)來啟動該定時器,使用stop方法來停止定時器。在使用第2種方法時,只需要調用系統(tǒng)的startTimer()函數(shù)就可以了。
101.QTimer::singleShot()方法可以完成在時間間隔完成后執(zhí)行后面的槽函數(shù),相當于個直接的延時函數(shù),使用起來應該還是蠻方便的。
102. 顏色的第4個通道值可以理解為不透明度,即如果為255的話,就指的是完全不透明。
103. QString::number(num)可以將整型的num轉換成string型。
104. qreal 其實就是double型。
105.往QListWidget加入文字可以使用其addItem()方法.
106.arg()中的參數(shù)是QString型,則其對應的百分號需要用單引號括起來。
107.Qt::DecorationRole是Qt::ItemDataRole中的一種,Qt::ItemDataRole表示每一個model中的Item都有自己的一個數(shù)據(jù)集,且有自己的特色。這些特點用來指定模型中的哪一種數(shù)據(jù)類型將被使用。而Qt::DecorationRole指的是說數(shù)據(jù)將以圖表的形式來呈現(xiàn)。
108.QAbstractItemView為一個抽象item視圖類,里面有很多方法可以重寫。
109. QPaint是一個繪圖類,可以設置畫筆,畫刷,字體。
110.在設計用戶名密碼登陸時,如果用戶名和密碼都正確,則會調用調用父類的QDialog::accept()槽函數(shù),該函數(shù)實現(xiàn)關閉當前對話框,設置對話框的運行結果為QDialog::Accepted,并發(fā)送QDialog::finished(intresult)信號。
111.增加StackWidget頁面的方法,在StackWidget上鼠標右擊,選擇insertpage,然后繼續(xù)選擇在本頁之前或者之后加入頁碼。
112. QAction對象使用setText()方法時,如果在對象的構造函數(shù)中已經(jīng)有了其文字顯示,那么action上面顯示的就是構造函數(shù)中的text文本。這里的setText文本有2個作用,第一個是如果該action對應到了菜單欄中,則菜單欄會自動將其顯示出來;第二個時如果構造函數(shù)中沒有設置文本內(nèi)容,則該action會顯示setText()方法設置的內(nèi)容,當然了,如果action設置了圖標,該文本內(nèi)容就被覆蓋了,退化為文本提示了。
113. cellClicked(int,int)信號是當表格中的一個cell單元被單擊時發(fā)出的。它的兩個參數(shù)分別為表格中cell的行號和列號。
114.可以使用frameGeometry()來獲得程序中的主界面,然后該界面的定位函數(shù)可以獲得與主界面的相對位置,比如說frameGeometry().bottomLeft()就是獲得主界面的左下方的位置。
115.當自己定義了的一個類,該類有對應的頭文件和源文件。如果在第二個類的頭文件中藥使用到第一個類,則可以不用包含第一個類的頭文件,直接用class關鍵字聲明就可以了,在第二個類的源文件中則需要包含第一個類的頭文件,因為這里需要使用第一個類對象的成員方法。
116.Qt中正則表達式為類QRegExp,正則表達式是指一個用來描述或者匹配一系列符合某個句法規(guī)則的字符串的單個字符串。比如說程序中的QRegExprx("\\[\\d{2}:\\d{2}\\.\\d{2}\\]");其實就是表示歌詞文件前面的格式,比如[00:05.54]。表達式中的d{2}表示匹配2個數(shù)字。
117. Qt中常見的類的繼承總結:  如果需要設計界面,且需要菜單欄,工具欄,狀態(tài)欄等,一般繼承QMainWidget類。
如果需要界面,不需要菜單欄,工具欄,狀態(tài)欄等,一般繼承QDialog類。
如果需要使用自定義視圖來畫圖形,則可以繼承QAbstractItem類。
如果需要自己設計場景,比如游戲開發(fā)的時候,可以繼承QGraphicsView類。
如果需要自己制作一個小圖形視圖,可以考慮繼承QGraphicsObject類,當將這些小視圖構成一個視圖組時,該組的類可以繼承QGraphicsItemGroup類和QObject類。
一般的界面設計也可以繼承QWidget類。
一般的文本類可以繼承QLabel,比如在設計音樂播放器時的顯示桌面歌詞的類。
118. 在QtCreator的使用中,有時候會出現(xiàn)兩個尖括號在一起的情況,這時候沒有語法錯誤,但是QtCreator這個編輯環(huán)境會在你的代碼下出現(xiàn)個紅色的波紋,讓人看起來非常不舒服。例如:
解決方法非常簡單,即把兩個尖括號中間不要緊挨著,用一個空格號隔開一下即可,這時候紅色的波紋警告線就消失了。
轉載:
http://www.cnblogs.com/tornadomeet/tag/總結系列/
前一篇:Qt creator工程項目移植時因環(huán)境變換造成qmake錯誤的解決方案
后一篇:<QT>線程學習實例
http://blog.sina.com.cn/lvxuecheng
本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Qt Opencv 在Linux下攝像頭簡單示例v1.0
VS2008 中使用 Qt
如何使用ui文件
QT openCV 實現(xiàn)攝像頭采集以及拍照功能
Qt5 + opencv3.4 + window 環(huán)境搭建 筆記
qt幾個窗體之間的值傳遞-百度文庫
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服