自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Qt 編程點滴 初學者必看 (1)

移動開發(fā)
本人介紹的是Qt 編程點滴,作為一名新手,我建議必須看一看。編程那些事,只有編程人員自己明白!所以推薦本文。

Qt 編程點滴,為大家講解編程那些細節(jié)。通過題目,不難看出,本文講述的就是在編程過程中的點點滴滴,如果你是Qt愛好者,或者是小白,建議你關(guān)注此文章。不多說了,先看看本文吧。

MinGw + CodeBlock + Qt 4.5

類定義后面要加";"

函數(shù)的實現(xiàn)部分,如果定義部分有void,則實現(xiàn)部分不能少;

檢查include文件有無少;

error: request for member `show\\\' in `((MainWindow*)this)->MainWindow::rightform\\\', which is of non-class type `RightForm*\\\'|
"->"與"."問題函數(shù)"()"千萬不能少;

connect中的SLOT里的自定義過程的申明一定要寫在private slots:(或public slots:)下

  1. Qt ableWidgetItem *newnewItemName = new QtableWidgetItem(tr("姓名"));  
  2. newItemName->setFlags(newItemName->flags() & (~Qt::ItemIsEditable));//網(wǎng)格設(shè)置為只讀  
  3. tblWidgetMingPian->setItem(0, 0, newItemName);  
  4. newnewItemName = new QtableWidgetItem(tr("陳林 & (~Qt::ItemIsEditable));  
  5. tblWidgetMingPian->setItem(0, 1, newItemName);  
  6. idgetMingPian->verticalHeader()->hide();  
  7. tblWidgetMingPian->horizontalHeader()->hide();  
  8. tblWidgetMingPian->setRowHeight(0,25);  
  9. tblWidgetMingPian->setRowHeight(1,25);  
  10.  
  11.  
  12.     tblWidgetMingPian->setRowCount(2);connsql.h  
  13. tblWidgetMingPian->setColumnWidth(0,60);  
  14. tblWidgetMingPian->setColumnWidth(1,100); 

    
    
if 里面的語句要加括號 if (條件),枚舉類型的定義

  1. typedef enum{  
  2.      nil,  
  3.      ready,  
  4.      fired,  
  5.      exceptional  
  6.  }Status; 
  1. QString text = tr("%1 %2").arg(i + 1).arg(files[i]);   
  2. Error:ISO C++ forbids declaration of `NavItem\\\' with no type   

如果出現(xiàn)以上的錯誤,其中NavItem是自定義類,則需檢查有沒Include進此類的定義頭文件,并檢查頭文件的#ifndef中的名稱跟其他類有沒重復(fù)(在復(fù)制其它類生成新類時經(jīng)常會出現(xiàn)這樣的錯誤)

\mingw\lib\libmingw32.a(main.o):main.c:(.text+0x104)||undefined reference to `WinMain@16\\\'|

往pro文件按順序加入下面三行:

  1. -lmingw32 \  
  2. -lSDLmain \  
  3. -lSDL \ 

sdl庫中文件(sdl.h)里將 #include "SDLMain.h" 注釋掉,否則qDebug(),printf全部無法顯示

有可能使用 #pragma message()造成,方法:不使用#pragma message()

 

  1. cannot open output file debug\umpcphonegui.exe: Permission denied 

產(chǎn)生此問題是由于文件umpcphonegui.exe受到保護,寫不進去,打開任務(wù)管理器結(jié)束掉此進程就好了

  1. pages.h|16|error: expected class-name before \\\'{\\\' token|  
  2. ||=== Build finished: 1 errors, 0 warnings ===| 

處理方法:沒有include進所需的類

鏈接時提示""undefind reference to \\\'vtable for xxx\\\'錯誤的處理方法: 重新makefile試下或工程文件(.pro)中的HEADERS中沒有加入定義該類的.h文件;另一原因,虛函數(shù)(或調(diào)用的虛函數(shù))定義后沒有加"=0";

 

  1. int x,y;  
  2. setupUi(this);  
  3. this->move(10,60);  
  4. this->resize(338,568);  
  5. x = this->x() + this->frameGeometry().width();  
  6. y = this->y() + 20 ;  
  7. //showMaximized();  
  8. rightform = new RightForm;  
  9. rightform->move(x,y); 

ERROR:undefined reference to `RightGpsForm::RightGpsForm(QWidget*)工程文件(*.pro)文件中的Source沒有加入RightGpsForm類實現(xiàn)的.cpp文件頭部定義有誤,需檢查頭部名稱跟文件名是否一樣;嘗試重編譯

 

  1. error: ISO C++ forbids declaration of `GPSMainWindow\\\' with no type|     

類的定義GPSMainWindow(gpsmainwindow.h)中的

 

  1. #ifndef MAINWINDOW_H_INCLUDED  
  2. #define MAINWINDOW_H_INCLUDED 

頭部定義有誤,需檢查頭部名稱跟文件名是否一樣;

#include 時,提示下面的錯誤:   

 

  1. QList: No such file or directory    

解決方法:

Project-build options-選擇整個工程(左側(cè)第一項)--切到右邊的頁"Search directories"

  1. 增加"$(#qt4.include)\QtGui\QtCore" 

Qt中的目錄用"/"表示

應(yīng)用程序目錄:QCoreApplication::applicationDirPath().append(tr("/world.png"));

QSS:設(shè)置TabWidget中的Tab頁高度

 

  1. QTabBar::tab {  
  2.   height: 14ex;  
  3.   width: 14ex;  
  4. }  
  5. TRACE_SUBSYSF(MYRUNLEVEL,MYMODULENAME,QString(QObject::tr("測試數(shù)據(jù)"))<<10);  
  6. TRACE_LEVEL=5 TRACE_SUBSYS=MAIN /d/study/umpcapp/umpcapp-dev-1.0.0/gpsapp/deb  
  7. ug/gpsapp.exe   
  8.  
  9. TRACE_SUBSYSF(5,"GUIAPP",QString(QObject::tr("構(gòu)造函數(shù)創(chuàng)建完畢"))<<10);  
  10. TRACE_SUBSYSF(5,"GUIAPP",tr("構(gòu)造函數(shù)創(chuàng)建完畢")<<10);  
  11. int ret = QMessageBox::question (this, tr("提示"), 

tr("確定要刪除文件嗎?"),

  1. QMessageBox::Yes | QMessageBox::No,  
  2. QMessageBox::No); 

引用Dll文件(動態(tài)鏈接"qextserialport.dll")時,需在pro里加下面的語句, -l+dll文件名   

  1. LIBS += -lqextserialport       
  2.  
  3. //  
  4. //    listWidget->addItem("a");  
  5. //    listWidget->addItem("b");  
  6. //    QVariant var;  
  7. //    var.setValue (new int(789098));  
  8. //  
  9. //    listWidget->item(0)->setData(Qt::UserRole,var);  
  10. //  
  11. //    int* ptr = listWidget->item(0)->data(Qt::UserRole).value < int>();  
  12. //    qDebug()<< "RecentNoteListForm::RecentNoteListForm:" << *ptr << endl;  
  13. //    delete ptr;  
  14. //    delete &listWidget->item(0)->data(Qt::UserRole);  

小結(jié):通過Qt 編程點滴 介紹,也給自己提高了編程過程中需要注意的細節(jié)問題,更多內(nèi)容,請看編輯推薦。

責任編輯:zhaolei 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-06-17 14:29:55

Qt

2011-06-17 15:06:14

Qt

2011-06-17 15:32:28

Qt

2011-06-17 15:19:28

Qt

2011-06-17 15:25:18

Qt

2011-06-17 15:44:25

Qt

2011-06-17 15:37:42

Qt

2011-06-17 14:54:31

Qt

2011-06-17 14:41:56

Qt

2011-09-16 09:38:19

Emacs

2011-06-27 14:56:46

Qt Designer

2011-09-08 10:38:37

Widget

2011-08-24 17:05:01

Lua

2013-04-23 10:51:15

Linux壓縮

2011-08-04 18:01:07

IOS Cocoa Touc

2009-10-29 09:19:59

ADO.NET

2011-07-26 17:55:16

iPhone Runtime

2009-11-17 15:33:26

PHP數(shù)組元素

2009-10-22 16:46:03

VB.NET初步知識

2009-12-02 10:01:54

點贊
收藏

51CTO技術(shù)棧公眾號